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号