| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2020 人关注过本帖
标题:关于3n+1问题,求两个数之间最大cycle length
取消只看楼主 加入收藏
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于3n+1问题,求两个数之间最大cycle length
程序代码:
#include <stdio.h>
int main()
{
    long n1, n2, i, m, n, cnt, maxcycle, tmp;
    
    while(scanf("%ld%ld", &n1, &n2) !=EOF){
        if(n1>n2){
            tmp=n1;
            n1=n2;
            n2=tmp;
        }
        
    for(i=n1;i>=n2;++i){
        i=m=n;
        cnt=1;
    }
        
    maxcycle=1;
    
    while(n != 1){
        if(n % 2)
            n=3*n+1;
        else
            n=n/2;
    cnt++;
    }
    
    if(cnt>maxcycle) maxcycle=cnt;
    
    }
    
    printf("%ld%ld%ld\n", m, n, maxcycle);
    return 0;
} 



版主大人指责我傲慢,那么我知错能改。

输入两个数,两个数字分别要判断是奇数偶数。

当奇数时,程式执行运算3*n+1。

当为偶数时,程式执行运算n/2。

将得出的结果反复执行上列运算,直到得到数字1时停止。

例如输入 22, 得到的数列: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

22 的 cycle length为 16

这个程式是想要找出输入的两个数字之间产生的最大cycle length。

在我编译完成这个程式后,输入资料

1 10      10 1  与 900 1000皆没有得到任何输出结果

如图所示
图片附件: 游客没有浏览图片的权限,请 登录注册


请问这是哪里发生了错误??

[此贴子已经被作者于2016-9-27 15:22编辑过]

2016-09-27 11:26
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 2楼 rjsp
不好意思,第一次发贴说话不要那么冲嘛...你说我改不就行了,一上来就教训我。
2016-09-27 15:07
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 4楼 chenchen224
好的,谢谢你
2016-09-27 15:54
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 6楼 linlulu001
不好意思,刚刚结帖的时候没有看到您的回复,您的回答给了我很大帮助,我将printf放到回圈内就有输出值了,十分感谢。

[此贴子已经被作者于2016-9-27 16:11编辑过]

2016-09-27 16:08
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 8楼 ehszt
太棒了!!完全符合我的要求,谢谢您。但其实我有点看不懂for回圈那一部分,请问您能帮我简单的解释一下吗??谢谢您。
2016-09-27 16:25
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 10楼 wanglianyi1
谢谢您。我在发帖的时候因为一直在想其他事情,没有考虑很多就发了一贴(这是借口。)。没有考虑到我对问题描述的完整性,以及其他人是否理解。这是我第一次在这个论坛发帖,如果我的贴子对请他人造成了困扰,请多多包涵,谢谢。
2016-09-27 16:37
zhq123333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 8楼 ehszt
懂了,感谢您的解答。
2016-09-27 16:42
快速回复:关于3n+1问题,求两个数之间最大cycle length
数据加载中...
 
   



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

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