1 条题解
-
0
定义一个函数来计算一个整数的各位数字之和。 定义一个函数来判断一个整数是否具有不变的初心。 在主函数中读取输入的整数个数,然后对每个整数进行判断,并输出结果。
#include <stdio.h> // 计算一个整数各位数字之和的函数 int calculateSum(int number) { int sum = 0; while (number > 0) { sum += number % 10; // 取出最后一位数字并加到sum上 number /= 10; // 去掉最后一位数字 } return sum; } // 判断一个整数是否有不变的初心的函数 int hasUnchangedInitialHeart(int number) { int initialSum = calculateSum(number); // 计算初始数字的各位数字之和 for (int i = 2; i <= 9; i++) { // 从2到9乘以number int product = number * i; if (calculateSum(product) != initialSum) { // 如果乘积的各位数字之和不等于初始和,则没有初心 return 0; // 返回0表示没有初心 } } return initialSum; // 如果所有乘积的各位数字之和都等于初始和,则返回这个和 } int main() { int N, num; scanf("%d", &N); // 读取需要判断的数的个数 for (int i = 0; i < N; i++) { scanf("%d", &num); // 读取每个具体的数 if (hasUnchangedInitialHeart(num)) { printf("%d\n", hasUnchangedInitialHeart(num)); // 如果有初心,输出初心 } else { printf("NO\n"); // 否则输出NO } } return 0; }
- 1
信息
- ID
- 75
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 125
- 已通过
- 54
- 上传者