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