ধরুন, আমাদের একটি বড় সংখ্যা দেওয়া হয়েছে এবং আমাদের যাচাই করতে হবে যে সংখ্যাটি ১৯ দ্বারা বিভাজ্য কিনা।
যেমন, ইনপুট ৮৬৯৮২ হলে আউটপুট হবে "বিভাজ্য"।
এই সমস্যাটি সমাধান করব আমরা পুনরাবৃত্তি যোগ পদ্ধতিতে, যেখানে সংখ্যার শেষ অঙ্ক বের করে তা ২ দিয়ে গুণ করব এবং ফলাফলটি বাকি সংখ্যার সাথে যোগ করব। এই প্রক্রিয়া দুই অঙ্কের একটি সংখ্যা পাওয়া পর্যন্ত চলবে যা ১৯ দ্বারা বিভাজ্য।
সমাধানের ধাপসমূহ
- যখন সংখ্যা ১০০ দ্বারা বিভাজ্য (অর্থাৎ তিন অঙ্ক বা তার বেশি থাকবে), তখন নিচের কাজগুলো করুন:
- শেষ অঙ্ক = সংখ্যা mod ১০
- সংখ্যা = সংখ্যা / ১০ এর ফ্লোর মান (পূর্ণসংখ্যা ভাগ)
- সংখ্যা = সংখ্যা + (শেষ অঙ্ক × ২)
- যদি সংখ্যা mod ১৯ = ০ হয়, তবে True ফেরত দিন।
উদাহরণ কোড
def solve(number):
while number // 100:
last_digit = number % 10
number //= 10
number += last_digit * 2
return (number % 19 == 0)
number = 86982
if solve(number):
print("Divisible")
else:
print("Not Divisible")
ইনপুট
86982
আউটপুট
Divisible