「已注销」 2022-10-26 18:25 采纳率: 100%
浏览 22
已结题

这个有答案,但是不明白步骤

img

这个有答案,但是看不懂不明白为什么i<1000,和if语句里面的条件是为什么那样子写,看不懂每个步骤

  • 写回答

2条回答 默认 最新

  • leaf_cq 2022-10-27 10:11
    关注

    1、程序员一定要会控制缩进,不然不管是自己还是他人看起来都很恼火……
    2、通过的for循环一般是这样:for( int i = 1; i < 1000; i++ ),而你的代码中没有最后的 i++,属于一种特殊用法,程序员必须在for循环内部对i的值进行控制及处理,否则极有可能是一个死循环。在本例中,i 除了控制循环总次数外,还是查找“陷阱”数过程的步骤数输出
    3、第10行判定是否找出了“陷阱”数,找到则退出循环。这个在第二次循环开始才考虑,第一次循环基本不会处理,除非你的number输入了0……
    4、第14-16行则是将第一次输入的number或者完成一次找“陷阱”数运算完成之后的新number赋值给same,以便于在下一次循环时在第10行进行新旧数据的比对
    5、第18行开始正式进入业务处理,该行将初始数加上它的个位数字(首次循环,之后循环是加十位、百位……)
    6、第19行将number缩小十位,即将最右边一位丢弃,配合上面一行提取靠右一位数字
    7、第20行判定是否所有number的各位数字都已加完,未加完就直接返回for循环进入下一轮数字提取相加,加完了就进入22行开始的处理
    8、第22行将number与其各位数字之和的结果sum乘以3再加1(左边说明中的步骤)然后再赋值给number(得到一个新的数),这个数就是在下一轮for循环的开始就跟same进行判定是否找到了“陷阱”数的依据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月26日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀