두 개의 숫자 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