标题:角谷猜想
取消只看楼主
小人儿
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-10-31
结帖率:33.33%
已结贴  问题点数:5 回复次数:0 
角谷猜想
III.角谷猜想
所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2。对于计算得到的结果再按照上述规则重复处理,最终总能够得到1。例如,假定初始整数为5,计算过程分别为16、8、4、2、1。编程完成以下内容:
1.    要求输入一个整数,将经过处理得到1的过程输出来;
2.    使用递归函数;
3.    输出结束后,输出递归次数。
如:输入22,则输出11  34  17  52  26  13  40  20  10  5  16  8  4  2  1
     STEP = 15.
#include<stdio.h>
int digui(int n);
int main()
{
    int n,m;
    printf("输入一个整数n:");
        scanf("%d",&n);
        if(n==1)
        {
            printf("%d\n",n);
        }
        else
        {
        m=digui(n);
        printf("%d\n",m);
        }
}
int digui(int n)
{
    while(n!=1)
    {
        if(n%2==0)
            n=n/2;
        else
            n=n*3+1;
        printf("%d\n",n);
    }
                return n;
}
大佬们帮我看看为啥我最后输出的都多一个1啊  谢谢
搜索更多相关主题的帖子: int 输入 整数 输出 printf 
2019-12-04 20:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498207-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094269 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved