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