ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第十回 调试加注释降低错误率,循环套循环突破小周天

2020-03-06 12:39:15  阅读:316  来源: 互联网

标签:153 小周天 穷举法 错误率 三位数 循环 数学题 水仙花


课堂笔记

在这里插入图片描述

实例:解数学题

  1. 单循环
    在这里插入图片描述
    while循环
    本质是穷举法
    在这里插入图片描述

实例:双重循环解数学题

XY693 = YX396
如果用单循环解。。。。

在这里插入图片描述
step1:写一个新的循环结构
在这里插入图片描述
step2:把机械重复的部分保留一份,放入循环体
在这里插入图片描述
step3:规则变化的用循环变量表示
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
扩展:多重循环
在这里插入图片描述
多重循环中,break只能跳出当前循环
在这里插入图片描述

程序调试

“好的程序是调出来的!”
在这里插入图片描述
单步调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置断点
一个程序中可以设置多个断点

在这里插入图片描述

代码风格基本要求

在这里插入图片描述

作业1:水仙花数

求解“水仙花数”是一道非常经典的循环练习题。如果一个三位数( 100 —— 999 )等于它每一位数字的立方和,则称这个数为“水仙花数”。比如 153 = 1^3 + 5^3 + 3^3,所以 153 就是一个水仙花数。

本题的正确输出结果应当包括四个数字: 153 370 371 407

以我们目前(《基础篇》第十回)已经讲解过的知识,同学们至少可以通过两种方式编写出解题程序。这里建议大家使用三重循环穷举法回答本作业,思路及答案可以见本页标签。

除了嵌套循环外,大家也完全可以只使用一层循环即找出所有水仙花数。强烈建议大家在完成嵌套循环解法后,再尝试思考这种解法。我们会在本章发布一周之后,在本页 “解题思路” 中增加这一解法的提示。

思路提示

本例与视频课程中的 “穷举法解数学题” 基本相同,只不过循环次数增加到3次,运算条件也有变化。关键点如下:
所有三位数都可以用 a100 + b10 + c 表示,而它们每一位的立方和都是 a3 + b3 + c**3 。
所以只要做一个三层循环,最外围将a从1循环到9,第二层将b从0循环到9,第三层将c从0循环到9,就可以穷举出所有三位数。
在第三层循环里面,把穷举到的三位数abc按照(1)中的表示方法进行比较,即可判断出它是否为水仙花数。如果是,将abc打印出来即可。

特别提示:要格外注意a、b和c的初始化位置。比如,如果把b=0写在所有循环之前,程序就无法找到全部答案。具体原因与视频课程中调试器示例相同。

标签:153,小周天,穷举法,错误率,三位数,循环,数学题,水仙花
来源: https://blog.csdn.net/weixin_44663137/article/details/104692807

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有