1 条题解

  • 0
    @ 2025-10-30 13:46:51

    思路分析

    1. 任务拆解:

    • 读取正整数n
    • 根据角谷猜想规则不断变换n的值
    • 输出每一步的计算过程
    • 当n变为1时结束并输出"End"

    2. 关键点分析:

    • 如果n是奇数:n = n×3+1
    • 如果n是偶数:n = n÷2
    • 每次变换后输出完整的计算过程
    • 循环直到n变为1

    3. 步骤规划:

    • 读取n的值
    • 当n不等于1时循环:
      • 如果是奇数,执行乘3加1并输出过程
      • 如果是偶数,执行除以2并输出过程
    • 循环结束后输出"End"

    4. 代码对应:

    • cin>>n; → 读取初始值
    • while(n!=1) → 循环直到n变为1
    • if(n%2==1) → 判断是否为奇数
    • cout<<n<<"*3+1="; n=n*3+1; cout<<n<<endl; → 输出奇数变换过程
    • cout<<n<<"/2="; n/=2; cout<<n<<endl; → 输出偶数变换过程
    • cout<<"End"; → 输出结束标记
    • 1

    信息

    ID
    1703
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    296
    已通过
    168
    上传者