m0_70393647 2022-12-10 19:16 采纳率: 100%
浏览 25
已结题

角谷静夫是日本东京大学数学教授,于1930年提出该猜想。

角谷静夫的猜想

题目背景

角谷静夫是日本东京大学数学教授,于1930年提出该猜想。

遗憾的是该猜想迄今仍未被证明,我们只能利用计算机来验证它。

题目描述

给出一个正整数n,然后对这个数字n一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 再加 1,否则除以 2。经过若干次循环后,最终都会回到 1。

角谷静夫认为:任意正整数都可以按照这样的方式变成 1,被称为“角谷猜想”。

例如当 $n$ 是 20,变化的过程是 [20, 10, 5, 16, 8, 4, 2, 1]。

根据给定的数字n,验证这个猜想。

输入格式

输入仅一行,一个正整数,表示n。

n≤MAX_INT

输出格式

你的程序需要输出一行,包含若干个空格隔开的整数,它们是从n变化到1的全过程(包括n和1在内)。

样例 #1

样例输入 #1

20

样例输出 #1

20 10 5 16 8 4 2 1
  • 写回答

3条回答 默认 最新

  • 关注

    循环迭代,需要注意的是 n *3 +1可能会超出int范围,所以,需要用long类型来接收数据。
    代码如下:

    #include <iostream>
    using namespace std;
    
    int main()
    {
        long n;
        cin >> n;
        cout << n;
        while(n!=1)
        {
            if(n%2==0)
                n/=2;
            else
                n = n*3+1;
            cout <<" "<<n;
    
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月18日
  • 已采纳回答 12月10日
  • 创建了问题 12月10日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题