สมมติเรามีตัวเลขสองตัว N และ D เราต้องหาตัวเลข N หลักที่หารด้วย D ลงตัว ถ้า N คือ 3 และ D คือ 5 ตัวเลขอาจเป็น 500 สามารถแก้ได้ง่าย ถ้า D เป็น 10 และ N เป็น 1 จะเป็นไปไม่ได้ เราสามารถนำ D มาวาง และสมมติ D มี m หลัก แล้วต่อศูนย์ N - m ตัวท้าย เพื่อทำให้เป็นตัวเลข 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