1077:统计满足条件的4位数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 68818 通过数: 47273
【题目描述】
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。
【输入】
输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n<=100)
【输出】
输出为一行,包含一个整数,表示满足条件的四位数的个数。
【输入样例】
5
1234 1349 6119 2123 5017
【输出样例】
3
【思路分析】
- 首先,从输入中读取四位数的个数n。
- 然后,使用一个循环来读取n个四位数。
- 在循环中,首先读取一个四位数m。
- 接下来,将m分解为千位数a、百位数b、十位数c和个位数d。
- 然后,检查条件:个位数d减去千位数a再减去百位数b再减去十位数c的结果是否大于零。
- 如果满足条件,将计数器s加1。
- 循环结束后,输出计数器s的值,即满足条件的四位数的个数。
【示例代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c, d, n, m, s = 0; // 定义变量a、b、c、d、n、m和计数器s,初始值为0
cin >> n; // 读取四位数的个数n
for (int i = 1; i <= n; i++) // 循环n次,读取n个四位数
{
cin >> m; // 读取一个四位数m
a = m / 1000; // 计算千位数a
b = (m / 100) % 10; // 计算百位数b
c = (m / 10) % 10; // 计算十位数c
d = m % 10; // 计算个位数d
if (d - a - b - c > 0) // 检查条件:个位数d减去千位数a再减去百位数b再减去十位数c的结果是否大于零
{
s++; // 如果满足条件,计数器s加1
}
}
cout << s << endl; // 输出满足条件的四位数的个数
}