두 개의 숫자 N과 D가 있다고 가정합니다. D로 나눌 수 있는 N 자리 숫자를 찾아야 합니다. 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