假设我们有两个数字N和D。我们必须找到N个数字,该数字可以被D整除。如果N为3,D为5,则数字可以为500。这很容易解决。如果D为10,N为1,那么将是不可能的。我们可以放入D,并假设D有m个数字,然后附加N-m个0,以使其成为N个数字并可以被D整除。
#include<iostream> using namespace std; string nDigitDivByD(int n, int d) { string ans = ""; if (d < 10) { ans += to_string(d); for (int i = 1; i < n; i++) ans += "0"; } else { if (n == 1) return "Cannot find any number"; else { string temp = to_string(d); ans += to_string(d); for (int i = 0; i < n-temp.length(); i++) ans += "0"; } } return ans; } int main() { int n = 5, d = 15; cout << nDigitDivByD(n, d); }
输出结果
15000