小明的幸运数是 GESP 一级必考高频题型,几乎每次考试都出现!只要掌握遍历判断 + 满足条件累加思路,这类题百分百得分!
一、题目描述
所有个位数为 k 的正整数,以及所有 k 的倍数,都被小明称为 “k 幸运数”。小明想知道正整数 L 和 R 之间(包括 L 和 R)所有 k 幸运数的和。
输入
输入 3 行:第一行:正整数 k第二行:正整数 L第三行:正整数 R约定:1≤L≤R≤1000
输出
输出 1 行:符合题意的幸运数之和
输入样例 1
7110
输出样例 1
7
输入样例 2
71020
输出样例 2
31
二、解题思路分析
这道题是标准遍历 + 条件判断题型,逻辑固定,三步搞定:
- 遍历数字
:把 L 到 R 之间每一个数都检查一遍 - 条件判断
:满足其一就算幸运数 个位数字等于 k 是 k 的倍数 - 累加求和
:符合条件就加到总和里
思路清晰、步骤固定,是 GESP 一级必拿分题!
三、完整可运行代码
#include<stdio.h>intmain(){int k, L, R, sum = 0;// 分3行输入 k、L、Rscanf("%d", &k);scanf("%d", &L);scanf("%d", &R);// 遍历 L~R 所有数for (int i = L; i <= R; i++) {// 判断是否为幸运数if (i % 10 == k || i % k == 0) {sum = sum + i;}}// 输出总和printf("%d", sum);return 0;}
四、代码讲解
定义变量:k、L、R 存输入数据,sum 存总和(初始为 0) 分 3 次输入,完全符合题目要求 for 循环逐个检查 L~R 每个数 if 判断: i % 10 == k:判断个位是不是 k i % k == 0:判断是不是 k 的倍数 满足任一条件就累加到 sum 最后直接输出 sum
代码简短、格式规范,考场直接套用不出错。
五、学习小技巧
所有 “区间查找、条件求和” 题目,记住万能模板:遍历每一个数 → 判断是否满足条件 → 满足就累加掌握这个逻辑,GESP 一级所有同类题目直接秒解!
文章来源:
四季读书网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至23467321@qq.com举报,一经查实,本站将立刻删除;如已特别标注为本站原创文章的,转载时请以链接形式注明文章出处,谢谢!