抓到一只盖子鸭 2023-04-01 13:22 采纳率: 75%
浏览 11

快客编程37. 角谷猜想

1976年《华盛顿邮报》头版头条报道了一条数学新闻。文中记载了美国各所名牌大学校园内,人们都像发疯一般,夜以继日废寝忘食地玩一种数学游戏。
游戏十分简单:任意写出一个正整数N,按照以下规律变换:
如果是个奇数,则下一步变成3N+1。
如果是个偶数,则下一步变成N/2。
不单单是学生,甚至连教师、研究员、教授与学究都纷纷加入。为什么这种游戏的魅力经久不衰?因为人们发现,无论N是怎样一个数字,最终都无法逃脱回到谷底1。

例如:
12 -> 6 -> 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
19 -> 58 ->29 ->88 ->44 ->22->11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10->5->16->8->4 -> 2 -> 1

请写一个程序,输入是一个正整数n,输出从n开始数字的变化过程,用空格分隔开,最后由1结束。
输入格式
一个正整数n,n<10000
输出格式
一行正整数,由空格隔开

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-01 13:39
    关注
    #include <stdio.h>
    int main()
    {
        int i;
        scanf ("%d",&i);
        while(i!=1){
            if(i%2==0&&i>=0){
                printf("%d/2=",i);
                i=i/2;
                printf("%d\n",i);
            }else if(i%2!=0&&i>=0){
                printf("%d*3+1=",i);
                i=i*3+1;
                printf("%d\n",i);
            }
        }
        printf("End");
        
        return 0;
    }
    
    

    https://blog.csdn.net/YTing1412/article/details/128420176

    评论

报告相同问题?

问题事件

  • 修改了问题 4月1日
  • 创建了问题 4月1日