1 条题解

  • 0
    @ 2024-8-10 16:11:17

    定义一个函数来计算一个整数的各位数字之和。 定义一个函数来判断一个整数是否具有不变的初心。 在主函数中读取输入的整数个数,然后对每个整数进行判断,并输出结果。

    #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;
    }
    

    信息

    ID
    75
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    128
    已通过
    55
    上传者