Codeforces Round 158 (Div 2) Problem A - Adding Digits
問題概要
ある数字aに、一ケタの数字を末尾に自由に付け足していく処理をn回行う。
ただし、毎回bで割り切れるようにケタを追加していかなければならない。
n回ケタを追加した後の値を出力せよ。
もし、このような数が作れない場合は、-1を出力せよ。
解法
1ケタ目の追加では、bで割り切れるように付け加える。
この時点でbで割り切れる数字になっているので、残りのn-1回は、0を付け加えるだけで良い。
プログラム
#include <iostream> using namespace std; int main(){ int a, b, n; while(cin >> a >> b >> n){ int added = -1; for(int i = 0; i < 10; i++){ int na = a * 10 + i; if(na % b == 0){ added = i; break; } } if(added == -1){ cout << -1 << endl; continue; } cout << a << added; for(int i = 0; i < n - 1; i++){ cout << "0"; } cout << endl; } }