Advertisement

乙级考试第1001、1002题答案

阅读量:

1001:
卡拉兹(Callatz)猜想:
对于任意一个正整数 n,若其为偶数,则将其减半;若其为奇数,则将 (3n+1) 的数值进行减半操作。通过不断重复上述过程,最终必定在某一步骤中得到 n=1。该猜想由卡拉兹于 1950 年在世界数学家大会上提出,据传当时耶鲁大学的师生们纷纷投入精力试图证明这一看似简单却充满挑战性的命题,以至于学生们无暇顾及学业,全身心投入到对 (3n+1) 的证明之中,甚至有人认为这是一场精心策划的阴谋,旨在延缓美国数学界在教学与科研方面的进步……
我们当前的任务并非证明卡拉兹猜想,而是针对给定的一个不超过 1000 的正整数 n,简单计算需要多少步骤(即操作次数)才能使 n 变为 1。
输入格式:

每个测试案例仅包含一个测试输入,即提供一个正整数 n 的具体数值。
输出格式:

输出从初始值 n 经过运算直至达到 1 所需的总步数。
解答:

复制代码
    #include<stdio.h>
    
    int Callatz(int number);  //对输入的数进行Callatz猜想
    
    int main()
    {
    int number=0,count=0;
    scanf("%d",&number);
    while(number>1)    //如果number不为1则进行

全部评论 (0)

还没有任何评论哟~