GESP2026年3月认证C++五级( 第三部分编程题(1)有限不循环小数 )
题目有限不循环小数终止数 一、故事糖果王国的除法魔法 1、在“数学王国”里有一种神奇的数字 有些分数可以变成会停下来的小数 有些却会无限循环比如1/2 0.5 ✔️停下 1/4 0.25 ✔️停下 1/3 0.333… ❌无限循环2、 国王说“如果一个数 i可以变成终止小数我们就叫它终止数” 二、关键问题本质 如何判断1 / i 是否是有限小数 三、核心数学规律超级重要1、结论必须背 一个数 i如果它只含有质因子 2 和 5 那么1/i 一定是终止小数2、为什么因为10 2 × 5 小数本质是“分母变成10的幂” 四、怎么判断1、方法不断除 2 和 52、故事剥洋葱 我们把一个数 不断除掉 2 不断除掉 5看看最后剩下什么3、✨规则最后如果变成 1 → ✔️终止数 否则 → ❌不是 五、举例讲清楚例1i 2020 ÷ 2 10 10 ÷ 2 5 5 ÷ 5 1 最后是 1 ✔️ 是终止数例2i 66 ÷ 2 3 剩下 3不是2或5 ❌不是终止数 六、完整思路算法1、目标统计[l, r] 之间有多少终止数2、✨步骤1️⃣ 枚举每个数 i2️⃣ 复制一份int t i;3️⃣ 去掉所有2while(t % 2 0) t / 2;4️⃣ 去掉所有5while(t % 5 0) t / 5;5️⃣ 判断if(t 1) ans; 七、完整代码#include iostream using namespace std; int main() { int l, r; cin l r; int ans 0; for(int i l; i r; i) { int t i; // 去掉所有 2 while(t % 2 0) t / 2; // 去掉所有 5 while(t % 5 0) t / 5; // 判断是否为终止数 if(t 1) ans; } cout ans endl; return 0; } 八、总结一句话记忆只含2和5 → 一定终止解题套路枚举 → 除2 → 除5 → 看是不是1 本题考点✔ 判断终止小数✔ 质因数分解思想✔ 枚举 数论技巧
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2442340.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!