hechentonggnuang
hechentonggnuang
2021-04-19 12:57
采纳率: 92.3%
浏览 88

python 题 考拉兹猜想 新手求大佬

考拉兹猜想(Collatz conjecture)又称奇偶归一猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2。 如此循环,最终都能得到1。编写一个程序,输入一个正整数,打印其考拉兹序列。

输入格式:

1个>1的正整数

输出格式:

以逗号分隔的考拉兹序列。

输入样例:

5

输出样例:

16,8,4,2,1
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • technologist_09
    CSDN专家-HGJ 2021-04-19 13:50
    已采纳

    x=int(input('1个>1的整数'))

    s=[]

    while x!=1:

        if x%2!=0:

            x=x*3+1        

        else:

            x=x//2

        s.append(x)

    print(s)

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-04-19 14:00

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论
  • name_kaili
    kaili_ya 2021-04-19 16:02
    num = int(input('请输入一个正整数:'))
    while num!=1:
        if num%2==1:
            num = 3*num + 1
        else:
            num = num/2
        print(int(num), end=',')
    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-04-20 14:33

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论

相关推荐