| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 669 人关注过本帖
标题:求大神指导,本人初学 c。
取消只看楼主 加入收藏
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
求大神指导,本人初学 c。
(1)输入一个正整数n;   
(2)如果n=1则结束;   
(3)如果n是奇数,则n变为3n+1,否则n变为n/2;   
(4)转入第(2)步。
    举一个例子:n=13的时候,经历10步可以达到1。
        13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
请问10000以内,哪个数变为1需要转化的步骤多
以上是题目,可是我不知道怎么计算循环的次数。以下是我自己写的代码,但是统计不了次数,我不知道该怎么改。
程序代码:
#include<stdio.h>
int main()
{
    int n,p;
    int count=1;
    printf("输入一个整数n:");
    scanf("%d",&n);
    if(n==1)
    {
        printf("n=%d",n);
    }
    do
    {
        switch(p=n%2)
        {
        case 0:
            n=n/2;break;
        case 1:
            n=3*n+1;break;
        }
        printf("n=%d",n);
        printf("\n");
    }
    while(n!=1);        
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 正整数 统计 
2014-08-07 18:03
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:0 
回复 2 楼 龙牙
恩呢,谢谢,这个统计次数的我看懂了,不过怎么统计得出转换步骤最多的那个数字?可以也教教我么?
2014-08-07 21:32
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:0 
回复 4 楼 龙牙
恩呢,好的,谢谢
2014-08-08 09:25
乖乖0943
Rank: 2
等 级:论坛游民
帖 子:33
专家分:42
注 册:2014-8-1
收藏
得分:0 
回复 7 楼 jsaf
谢谢了啊。我看懂了!
2014-08-08 09:32
快速回复:求大神指导,本人初学 c。
数据加载中...
 
   



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

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