You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Collatz公式计算器仅输出最终步数而非每步过程?

修改Collatz计算器代码以仅输出总步数

原代码存在嵌套循环冗余、多余打印语句等问题,以下是修改后的代码及说明:

修改后的代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int c0 = input.nextInt();
        int steps = 0;
        
        // 单循环控制Collatz计算流程
        while (c0 != 1) {
            if (c0 % 2 == 0) {
                c0 = c0 / 2;
            } else {
                c0 = 3 * c0 + 1;
            }
            steps++; // 每完成一次操作,步数加1
        }
        
        // 计算结束后仅输出总步数
        System.out.println("总步数:" + steps);
        input.close(); // 关闭输入资源
    }
}

关键修改点

  • 移除了嵌套的while (c0 != 1)循环,避免逻辑重复与错误
  • 删除所有中间步骤的System.out.println语句,不再打印每一步的数值和临时步数
  • 用简洁的steps++替代冗余的steps = steps + 1写法
  • 移除无意义的steps = steps - 0代码
  • 增加input.close()关闭Scanner,避免资源泄漏
  • 仅在整个计算流程结束后,打印最终的总步数

内容的提问来源于stack exchange,提问作者user20245205

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:35:20