精华内容
下载资源
问答
  • C语言 角谷猜想

    2021-03-01 15:08:04
    所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 程序要求输入一个...

    Description

    所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
    程序要求输入一个整数,将经过处理得到1的过程输出来。

    Input

    一个正整数N(N <= 2,000,000)

    Output

    从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。

    Sample Input

    5
    

    Sample Output

    5*3+1=16
    16/2=8
    8/2=4
    4/2=2
    2/2=1
    End
    

    Source Code

    #include <stdio.h>
    int main ()
    {
        long long int n;
        scanf("%lld",&n);
        while(n!=1)
        {
            if(n%2!=0)
            {
                printf("%lld*3+1=%lld\n",n,n*3+1);
                n=n*3+1;
            }
            else
            {
                printf("%lld/2=%lld\n",n,n/2);
                n/=2;
            }
        }
        printf("End");
        return 0;
    }
    
    

    Computational Results

    在这里插入图片描述


    在这里插入图片描述

    展开全文
  • /*n不等于1则继续以上过程*/ } 以上是c语言的,再给你弄个c++的 #include using namespace std; int main() { int n,count=0; cout<>n; /*输入任一整数*/ do{ if(n%2) { n=n*3+1; /*若为奇数,n乘3加1*/ ++count; ...

    最佳答案

    #include int main() { int n,count=0; printf("Please enter number:"); scanf("%d",&n); /*输入任一整数*/ do{ if(n%2) { n=n*3+1; /*若为奇数,n乘3加1*/ printf("[%d]:%d*3+1=%d\n",++count,(n-1)/3,n); } else { n/=2; /*若为偶数n除以2*/ printf("[%d]: %d/2=%d\n",++count,2*n,n); } }while(n!=1); /*n不等于1则继续以上过程*/ } 以上是c语言的,再给你弄个c++的 #include using namespace std; int main() { int n,count=0; cout<>n; /*输入任一整数*/ do{ if(n%2) { n=n*3+1; /*若为奇数,n乘3加1*/ ++count; cout<

    最佳答案由网友  来自b612的你  提供

    展开全文
  • C语言编写冰雹猜想(角谷猜想)

    千次阅读 2019-01-19 16:48:44
    这就是著名的角谷猜想,或称冰雹猜想。 冰雹猜想最大的魅力,在于其不可预知性,数字N的转化过程变幻莫测,有些平缓温和,有些剧烈沉浮,但却都无一例外地会坠入4-2-1的谷底,这好比是一个数学黑洞,将所有的...

    1976年的一天,《华盛顿邮报》于头版头条刊登了一条数学新闻,文中叙述了这样一则故事:70年代中期,美国个所名牌大学校园内,人们都像发疯一般,日以继夜废寝忘食地玩弄一种数学游戏,这个游戏十分简单,任意写出一个(非零)自然数N,并且按照以下规律进行变换:

    1. 如果是个奇数,则下一步变成 3N+1
    2. 如果是个偶数,则下一步变成 N/2

    一时间学生、教师、研究员、教授,甚至是一等一的数学大拿、天才都纷纷加入这个看似简单的数学游戏,人们取了各种各样的数字N去检验这个算法,最终都无一例外地坠入自然数序列4-2-1,于是就自然萌生出这样的猜想:对于任意非零自然数N,经上述变换最终都将落入4-2-1序列的宿命。这就是著名的角谷猜想,或称冰雹猜想。

    冰雹猜想最大的魅力,在于其不可预知性,数字N的转化过程变幻莫测,有些平缓温和,有些剧烈沉浮,但却都无一例外地会坠入4-2-1的谷底,这好比是一个数学黑洞,将所有的自然数牢牢吸住。有人把冰雹路径比喻一个参天大树,下面的树根是连理枝4-2-1,而上面的枝枝叶叶则构成了一个奥妙的通路,把一切(非零)自然数统统都覆盖了,这个小学生都看得懂的问题,迄今为止却没有任何数学手段和超级计算机可以证明。

    冰雹猜想跟蝴蝶效应恰好相悖,蝴蝶效应蕴含的原理是:初始值的极小误差,会造成结果的巨大不同,而冰雹猜想恰好相反:无论刚开始存在多大的误差,最后都会自行修复,直到坠入谷底。

    C语言编程实现:找出程序所能表达的最大整数的范围内,变换路径最长的纪录保持者。

    #include<stdio.h>
    #include<stdint.h>
    #include<math.h>
    /*
    功 	能:对输入的参数进行冰雹猜想变换,得到1时返回已经变换的次数,
    参 	数:num 输入一个非零自然数
    返回值: 变换得到1时经过的变换次数
    */
    long double bingbao(long double num)
    {
    	long double count=0;
    	while(1)
    	{
    		
    		if(fmodl(num,2)==1)//如果是奇数
    		{
    			num = 3*num+1;
    			count++;
    		}
    		else if(fmodl(num,2)==0)//如果是偶数
    		{
    			num = num/2;
    			count++;
    		}
    		//printf("%Lg\n",num);
    		if(num == 1)
    			break;
    	}
    	return count;
    }
    int main()
    {
    	long double num,num_find,count_new=0,count_old=0,len_1=0,len_2=0;
    	printf("我可以找出你给定范围内冰雹猜想变换次数最多的自然数\n");
    	printf("请输入一个范围:\n");
    	printf("起始数:");
    	scanf("%Lf",&len_1);	
    	printf("末尾数:");
    	scanf("%Lf",&len_2);
    	if(len_1>=len_2)
    	{
    		printf("输入错误:起始数应该小于末尾数!\n");
    		return 1;
    	}		
    	num = len_1;
    	while(num<len_2)
    	{
    		count_new = bingbao(num);
    		if(count_new>count_old)
    		{
    			count_old = count_new;
    			num_find = num;
    		}
    		num++;
    	}
    	printf("在你给定的%Lg----%Lg范围内\n",len_1,len_2);
    	printf("变换次数最多的是自然数是%Lg\n",num_find);
    	printf("它经过%Lg次变换后开始得到1\n",count_old);
    	printf("变换路径如下:\n");
    	while(1)
    	{
    		printf("%Lg-->",num_find);
    		if(fmodl(num_find,2)==1)//如果是奇数
    		{
    			num_find = 3*num_find+1;
    		}
    		else if(fmodl(num_find,2)==0)//如果是偶数
    		{
    			num_find = num_find/2;
    		}	
    		if(num_find == 1)
    			break;
    	}
    	printf("1\n");
    	return 0;
    }
    

    运行结果:linux下运行结果

    展开全文
  • 【OpenJudge】c语言_角谷猜想

    千次阅读 2016-12-11 14:45:47
    所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理, 最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 程序要求输入...
        /*
        描述
        所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,
        最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
        程序要求输入一个整数,将经过处理得到1的过程输出来。
        输入
        一个正整数
        输出
        从输入整数到1的步骤,每一步为一行,每一部中描述计算过程,假定输入为7,则输出为:
        7*3+1=22
        22/2=11
        11*3+1=34
        34/2=17
        17*3+1=52
        52/2=26
        26/2=13
        13*3+1=40
        40/2=20
        20/2=10
        10/2=5
        5*3+1=16
        16/2=8
        8/2=4
        4/2=2
        2/2=1
        最后一行输出"End",如果输入为1,直接输出"End"
    
        */
        #include<stdio.h>
        void f(int x);
        int main()
        {
            int x = 0;
            scanf("%d",&x);
            f(x);
            return 0;
        }
        void f(int x)
        {
            int result = 0;
            if(x==1)
                printf("End");
            else
            {
                if(x%2==0&&x>1)//偶  增加了x》1的条件  把x/2改成了x%2
                {
                    result = x/2;
                    printf("%d/2=%d\n",x,result);
                }
                else if(x%2!=0&&x>1)//增加了条件  而不是单纯的 else
                {
                    result = x*3+1;
                    printf("%d*3+1=%d\n",x,result);
                }
                f(result);
            }
        }
    

    展开全文
  • C语言训练】角谷猜想

    千次阅读 2018-02-09 11:25:45
    角谷猜想: 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续...
  • 1039: 【C语言训练】角谷猜想 时间限制: 1 Sec内存限制: 128 MB提交: 2解决: 2[提交][状态][讨论版] 题目描述 角谷猜想: 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷...
  • 角谷猜想C语言

    千次阅读 2019-11-02 00:17:09
    角谷猜想 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 ...
  • 角谷猜想C语言

    2020-09-17 20:54:24
    角谷猜想 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 ...
  • (2017-1)角谷猜想 C语言代码

    千次阅读 2020-02-11 13:37:38
    角谷猜想C语言代码) 任给一个大于0的正整数N,按照如下规则对其计算:如果N为偶数,则将其除以2,如果N为奇数,则将其乘以三3再加1,将得到的新数字不断重复上述变换规则,若干次后一定可以得到1.请编写程序,...
  • 这次用C#玩下C的题目——角谷猜想 (百科非VIP不能复制多行字,截图吧) 题目链接 https://wenku.baidu.com/view/9fe88540cf84b9d528ea7afe.html 这题有点毒,0不就是个反例咯。。。。。算了,跟出题人玩下吧。。...
  • 角谷猜想

    2017-03-17 16:40:32
    问题 1147: 【C语言训练】角谷猜想 时间限制: 1Sec 内存限制: 128MB 提交: 61 解决: 52 题目描述 角谷猜想: 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想...
  • 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 程序要求输入一个...
  • 角谷猜想c语言设计很好很简洁哦,不信你就看一下。在C语言广阔的空间下。简洁就是效率!
  • 角谷猜想: 日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。 猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的...
  • 角谷猜想

    2015-07-23 09:28:00
    1057: 【C语言训练】角谷猜想 Time Limit:1 SecMemory Limit:128 MBSubmit:320Solved:243[Submit][Status][BBS] Description 角谷猜想:日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力...
  • 自己写的解决角谷猜想的程序

    千次阅读 2008-03-02 16:59:00
    最近在看C语言实力解析精粹的时候看到一个关于角谷猜想的问题,由于源程序书上没(随书光盘里是有的但是没借到)所以自己写了一个:关于角谷猜想: 日本一位中学生发现了一个奇妙的“定理”,请角谷教授证明,而...
  • C语言经典编程100例

    2008-12-11 16:25:05
    这是一个包含了100种用C语言来描述的经典算法的教材,例如,约瑟夫问题,角谷猜想,汉诺塔,邮票组合等等共100个
  • 角谷猜想 日本一位中学生发现一个奇妙的定理请角谷教授证明而教授无能为力于是产生角 谷猜想猜想的内容是任给一个自然数若为偶数除以2若为奇数则乘3 加 1得到 一个新的自然数后按照上面的法则继续演算若干次后得到的...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

c语言角谷猜想

c语言 订阅