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