โจทย์: กำหนด n (ตัวหาร) และ d (จำนวนหลัก) หาเลข d หลักที่เล็กที่สุดที่หาร n ลงตัว
แนวทาง
- หา MIN = 10^(d-1) (เลข d หลักที่เล็กที่สุด)
- ถ้า MIN % n == 0 คำตอบคือ MIN
- มิฉะนั้น คำตอบ = (MIN + n) - ((MIN + n) % n) เพราะในช่วง [MIN, MIN+n] จะมีตัวหาร n ลงตัวอยู่หนึ่งตัว
โค้ดตัวอย่าง
def answer(n, d):
Min = pow(10, d-1)
if Min % n == 0:
return Min
else:
return ((Min + n) - ((Min + n) % n))
n = 83
d = 5
print(answer(n, d))
ผลลัพธ์
10043

สรุป
เรียนรู้วิธีหาเลข K หลักที่เล็กที่สุดที่หารตัวเลขกำหนดลงตัว ใช้คุณสมบัติ modulo