মান লেন, আমাদের কাছে একটি সংখ্যা n এবং অন্য একটি সংখ্যা k আছে। আমাদের যাচাই করতে হবে n-এর অড প্লেসের (ডান পাশ থেকে বাম পাশে) ডিজিটগুলোর যোগফল k দিয়ে বিভাজ্য কিনা।
যেমন, ইনপুট হলে n = 2416 k = 5, তবে আউটপুট হবে True কারণ ডান থেকে বাম অড প্লেসের সংখ্যা 4 + 6 = 10। যা 5 দিয়ে বিভাজ্য।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- total := 0, pos := 1
- যখন n > 0, তখন লুপ চালান:
- যদি pos বিজোড় হয়, তবে total := total + (n mod 10)
- n := n / 10 এর ভাগফল
- pos := pos + 1
- যদি total k দিয়ে বিভাজ্য হয়, তবে True রিটার্ন করুন।
- False রিটার্ন করুন।
উদাহরণ কোড
def solve(n, k):
total = 0
pos = 1
while n > 0:
if pos % 2 == 1:
total += n % 10
n = n // 10
pos += 1
if total % k == 0:
return True
return False
n = 2416
k = 5
print(solve(n, k))
ইনপুট
2416, 5
আউটপুট
True