每次添加后,如何向A添加N位数字使其能被B整除?
给定a、b和n。我们必须考虑以下条件,并找到最佳解决方案,向a添加n位数字,以便在每次迭代后它都能被b整除。
以某种方式向**a**添加一位数字,使得添加后**a**能被**b**整除。
打印经过n次步骤1迭代后**a**的最小可能值。
如果操作失败,则打印**失败**。
检查每次添加数字后的整除性。
输入
a=5 b=4 n=4
输出
52000
解释
从**0**到**9**添加第一位数字,如果没有任何数字使**a**能被**b**整除,则答案为**-1**,这意味着如果在**a**中添加了**n**位数字,**a**永远不会被**b**整除。否则,添加满足条件的第一位数字,然后在其后添加**0** (n-1)次,因为如果**a**能被**b**整除,则**a*10**、**a*100**……也能被**b**整除。
示例
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 4, n = 4;
int num = a;
for (int i = 0; i <= 9; i++) {
int temp = a * 10 + i;
if (temp % b == 0) {
a = temp;
break;
}
}
if (num == a) {
a = -1;
}
for (int j = 0; j < n - 1; j++) {
a *= 10;
}
if(a>-1) {
cout <<a;
} else {
cout <<”fail”;
}
return 0;
}
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP