1 条题解
-
0
#include <iostream> #include <algorithm> using namespace std; // 计算一个数字的各位数字之和 int get_sum(int num) { int sum = 0; // 累加当前数字的各位和 while (num > 0) { sum += num % 10; // 提取最后一位并累加 num /= 10; // 去掉最后一位 } return sum; } int main() { int x, n; // x为目标数字和,n为输入整数的个数 // [1] 输入目标数字和x与整数个数n cin >> x >> n; int arr[10005]; // 存储输入的n个整数(n≤10000) // [2] 输入n个整数,依次存入数组arr for (int i = 0; i < n; ++i) { cin >> arr[i]; } int res[10005]; // 存储符合条件的整数 int sum = 0; // 累加符合条件的数的总和 int count = 0; // 统计符合条件的数的个数 // [3] 遍历所有输入的整数,筛选出各位数字和为x的数 for (int i = 0; i < n; ++i) { if (get_sum(arr[i]) == x) { res[count] = arr[i]; sum += arr[i]; count++; } } // [4] 对符合条件的数进行升序排序 sort(res, res + count); // [5] 输出符合条件的数的总和与个数 cout << sum << " " << count << endl; // [6] 输出排序后的符合条件的数,用空格分隔 for (int i = 0; i < count; ++i) { cout << res[i] << " "; } return 0; }
- 1
信息
- ID
- 1190
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者