统计满足条件的 4 位数
属于GESP一级知识点,整除、取余和循环语句综合练习。
luogu-B2068
题目要求
描述
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。
输入
输入为两行,第一行为四位数的个数 ,第二行为 个的四位数。()。
输出
输出为一行,包含一个整数,表示满足条件的四位数的个数。
输入样例-1
5
1234 1349 6119 2123 5017
输出样例-1
3
题目分析
- 读取的值,表示后续输入的数量
- 循环次,读取每个四位数
- 对每个四位数,计算个位数减去千位数减去百位数减去十位数的结果
- 如果结果大于0,则计数增加1
- 输出满足条件的四位数的个数
示例代码
#include <iostream>
using namespace std;
int main() {
int n; // 定义变量n
cin >> n; // 从输入流中读取n的值
int a; // 定义变量a
int ans = 0; // 定义变量ans并初始化为0
for (int i = 1; i <= n; i++) { // 循环n次
cin >> a; // 从输入流中读取a的值
int b, c, d, e; // 定义变量b, c, d, e
b = a / 10 / 10 / 10; // 计算a的千位数
c = a / 10 / 10 % 10; // 计算a的百位数
d = a / 10 % 10; // 计算a的十位数
e = a % 10; // 计算a的个位数
if (e - d - c - b > 0) { // 如果a的个位数减去十位数减去百位数减去千位数的结果大于0
ans += 1; // ans加1
}
}
cout << ans; // 输出ans的值
return 0; // 返回0,表示程序执行成功
}
{% include custom/custom-post-content-footer.md %}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
“luogu-”系列题目可在 洛谷题库 在线评测。
“bcqm-”系列题目可在 编程启蒙题库 在线评测。
GESP/CSP 认证学习微信公众号

Last updated on