ধরুন আমাদের একটি সংখ্যা n আছে। আমাদের পরীক্ষা করতে হবে যে বিজোড় বসানো অঙ্কের গুণফল এবং জোড় বসানো সংখ্যা একই কিনা।
সুতরাং, যদি ইনপুটটি n =2364 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ বিজোড় বসানো সংখ্যার গুণফল 2 * 6 =12 এবং জোড় স্থাপন করা সংখ্যার গুণফল 3 * 4 =12 যা একই।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি সংখ্যা <10 হয়, তাহলে
- মিথ্যে ফেরত দিন
- বিজোড়_স্থান :=1, জোড়_স্থান :=1
- যখন num> 0, do
- d :=সংখ্যার শেষ সংখ্যা
- বিজোড়_স্থান :=বিজোড়_স্থান * d
- num :=(num/10) এর ভাগফল
- যদি সংখ্যা 0 এর মত হয়, তাহলে
- ব্রেক
- d :=সংখ্যার শেষ সংখ্যা
- even_place :=even_place * d
- num :=(num/10) এর ভাগফল
- যদি odd_place সমান_place এর মত হয়, তাহলে
- সত্য ফেরান
- মিথ্যে ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(num): if num < 10: return False odd_place = 1 even_place = 1 while num > 0: d = num % 10 odd_place *= d num = num//10 if num == 0: break d = num % 10 even_place *= d num = num//10 if odd_place == even_place: return True return False num = 2364 print(solve(num))
ইনপুট
2364
আউটপুট
True