【基础入门题041】角谷猜想

简介: 【基础入门题041】角谷猜想

【基础入门题】2021.12.07


角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3+1,如果是偶数,则除以2,得到的结果再按照上述规则中重复处理,最终总能得到1。


编制一个函数:从输入整数到1的步骤,每一步为一行,每一步都描述计算过程。最后一行输出End;如果输入为1,直接输出End。


编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道  

————————————————

方法一:while循环

def guess(n):
    while n>1:
        if n%2:
            if n!=1:
                print(f'{n}*3+1->{n*3+1}')
                n = n*3+1
        else:
            print(f'{n}//2->{n//2}')
            n //= 2
    else:
        print('End')
        return
guess(1)
guess(5)
guess(6)
guess(7)
guess(8)



方法二:递归法

def guess(n):
    if n==1:
        print('End')
        return
    if n%2:
        if n!=1:
            print(f'{n}*3+1->{n*3+1}')
            guess(n*3+1)
    else:
        print(f'{n}//2->{n//2}')
        guess(n//2)
guess(1)
guess(5)
guess(6)
guess(7)
guess(8)


两种方法的运行结果一致:

End
5*3+1->16
16//2->8
8//2->4
4//2->2
2//2->1
End
6//2->3
3*3+1->10
10//2->5
5*3+1->16
16//2->8
8//2->4
4//2->2
2//2->1
End
7*3+1->22
22//2->11
11*3+1->34
34//2->17
17*3+1->52
52//2->26
26//2->13
13*3+1->40
40//2->20
20//2->10
10//2->5
5*3+1->16
16//2->8
8//2->4
4//2->2
2//2->1
End
8//2->4
4//2->2
2//2->1
End


目录
相关文章
|
数据采集 Java 数据库
大学里面抢课到底可行吗?我来给你彻底说明白
大学里面抢课到底可行吗?我来给你彻底说明白
|
5月前
|
Python
发现一篇好有意思的文章!
该文档介绍了Python中基本操作的使用方法,包括求绝对值、不同进制间的转换、整数与ASCII码之间的转换等基础功能。例如,通过`abs()`函数可以求得数字的绝对值,
109 4
|
8月前
|
容器
一篇文章讲明白Fltk1.3系列教程(3)
一篇文章讲明白Fltk1.3系列教程(3)
60 0
|
8月前
|
缓存 C语言 iOS开发
一篇文章讲明白iOS开发系列
一篇文章讲明白iOS开发系列
55 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
技术小白能看懂的ChatGPT原理介绍
网上有关 ChatGPT 的原理介绍文章一大堆,要么是从 NLP 的历史开始讲起,要么是上数 GPT 3 代,内容都相对冗长和复杂。其实 ChatGPT 的原理并不难理解,我将以最通俗易懂的方式为技术小白解读,帮助大家更好地了解这一技术
666 1
技术小白能看懂的ChatGPT原理介绍
|
9月前
|
前端开发
【零基础入门前端系列】—复习(十五)
【零基础入门前端系列】—复习(十五)
|
机器学习/深度学习 移动开发 前端开发
想加入大厂?看这篇文章也许会帮助到你
相信加入互联网大厂是每个程序员梦寐以求的事情,无论是从工作环境、员工福利,或者说是技术氛围以及接触到的人所给你带来的一些好的机遇,都是值得我们去追求的,因此程序员可以在职业生涯初期、或者在整个职业生涯中加入过大厂,无论对自己的履历还是阅历都是很有帮助的一件事。
120 0
想加入大厂?看这篇文章也许会帮助到你
|
Python
【基础入门题061】数制转换(一)
【基础入门题061】数制转换(一)
100 0
|
算法 Java Android开发
|
设计模式 算法 Java
Android复习路径以及复习资料整理
Android复习路径以及复习资料整理