Giả sử chúng ta có hai số N và D. Chúng ta phải tìm số chữ số N chia hết cho D. Nếu N là 3 và D là 5 thì số đó có thể là 500. Điều này có thể được giải quyết dễ dàng. Nếu D là 10 và N là 1, thì điều đó là không thể. Ta có thể đặt D, và giả sử D có m số chữ số, sau đó thêm N - m số 0 để nó thành số N chữ số và chia hết cho D.
Ví 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);
} Đầu ra
15000