A. Adding Digits
https://codeforces.com/problemset/problem/260/A
题意:给定三个数a,b和n。要往a后面添加n次数,要求每次添加数字之后,a%b==0,无解则输出-1。
思路:第一次添加,看0~9是否有数字让a添加后%b==0,如果有,添加这个数,后面再全添加0即可。如果无,则无解。
总结:最近几周刷题a的最快的一次,舒服啊。
inline void solve() {
    int a, b, n;
    cin >> a >> b >> n;
    vector<int> ans;
    for (int v = a; v; v /= 10) {
        ans.push_back(v % 10);
    }
    reverse(ans.begin(), ans.end());
    bool ok = false;
    for (int j = 0; j < 10; ++j) {
        if ((a * 10 + j) % b == 0) {
            ok = true;
            ans.push_back(j);
            break;
        }
    }
    if (!ok) {
        cout << "-1\n";
        return;
    }
    for (int i = 1; i < n; ++i) {
        ans.push_back(0);
    }
    for (int i = 0; i < (int)ans.size(); ++i) {
        cout << ans[i];
    }
    cout << endl;
}
                    
                
                
            
        
浙公网安备 33010602011771号