向A添加N个数字,以便每次添加后都能被B整除?
给定a,b和n。而且,我们必须请看以下条件,并找到将n位数字添加到a的最佳解决方案,以便在每次迭代后n被n整除。
一个数字添加到一个 在这样一个 方式,添加之后,一个 是整除b。
在第n步的步骤1迭代之后,输出一个 可能的最小值。
打印失败 如果操作失败。
每增加一位数字后检查除数。
输入值
a=5 b=4 n=4
输出结果
52000
说明
第一位数字要被添加从0到9,如果没有的数字使一个整除b那么答案是-1,这意味着如果Ñ数字被在加入一个。a永远不能除以b。否则添加满足条件的第一个数字,然后在(n-1)次之后添加0,因为如果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;
}