1 条题解

  • 0
    @ 2026-7-18 16:13:50

    最小特殊数 题解

    解题思路

    从小到大枚举 x。因为只需要最小答案,所以第一次满足条件时立即记录并 break。使用函数计算一个整数的各位数字之和。

    参考代码

    #include<bits/stdc++.h>
    using namespace std;
    
    int digitSum(int n) {
        int sum = 0;
    
        while (n > 0) {
            sum += n % 10;
            n /= 10;
        }
    
        return sum;
    }
    
    int main() {
        int a, b, s;
        cin >> a >> b >> s;
    
        int ans = -1;
    
        for (int x = 1; x <= 100000; x++) {
            if (x % a == 0 && x % b == 0 && digitSum(x) == s) {
                ans = x;
                break;
            }
        }
    
        cout << ans << endl;
        return 0;
    }
    
    • 1

    信息

    ID
    4888
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者