用X整除的最小K位数字的C ++编程?
通过检查是否可以被X整除,可以使用公式找到可以被X整除的最小K位数字。该公式的工作方式如下-
计算最小K位数[min],例如:10/100/1000等。
现在找到min是否可以被X整除。如果是,那么这就是答案。
如果不是,则min+X-([min+X]%k)是答案。
示例
#include <iostream> #include <math.h> using namespace std; int main() { int X = 83; int K = 5; cout<<"The smallest "<<K<<" digit number divisible by "<<X<<" is "; int MIN = pow(10, K - 1); if (MIN % X == 0) cout<<MIN; cout<<((MIN + X) - ((MIN + X) % X)); cout << answer(X, K); }
输出结果
The smallest 5 digit number divisible by 83 is 100430