A25814. 数位求和
填空题
容易
知识点
题目描述
数位求和
题目描述
给定两个正整数N和M(N<M),统计N到M之间(包含N和M)的正整数中,各个位上的数字之和为8的有多少个。
如:N=100,M=150,100到150之间有5个数,各个位上的数字之和为8。分别是107、116、125、134、143。
输入描述
输入两个正整数N和M(100≤N<M≤801),且正整数之间以一个空格隔开。
输出描述
输出一个整数,表示N到M之间(包含N和M)的正整数中有多少个各个位上的数字之和为8。
样例输入
100 150样例输出
5参考答案
#include <iostream>
using namespace std;
int main() {
int n, m;
int ans = 0;
cin >> n >> m;
for (int i = n; i <= m; i++) {
int sum = 0;
int k = i;
while (k) {
sum += k % 10;
k /= 10;
}
if (sum == 8) {
ans++;
}
}
cout << ans << endl;
return 0;
}答案解析
//答案2
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int cnt = 0;
for (int i = a; i <= b; i++)
if ((i % 10 + i / 10 % 10 + i / 100) ==
8) // 算式分别为i的个位,十位,百位数字
cnt++;
cout << cnt;
return 0;
}
上一题
下一题