ধরুন আমাদের একটি ধনাত্মক পূর্ণসংখ্যা N আছে, আমরা সংখ্যাগুলিকে যেকোনো ক্রমে (মূল ক্রম সহ) পুনর্বিন্যাস করি যাতে অগ্রণী সংখ্যাটি অ-শূন্য হয়। আমাদের পরীক্ষা করতে হবে যে আমরা এটি এমনভাবে করতে পারি যে ফলাফল সংখ্যাটি 2 এর একটি শক্তি।
সুতরাং, যদি ইনপুটটি N =812 এর মত হয়, তাহলে আউটপুট হবে True
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
i:=1
-
যখন আমি<=1000000000, কর
-
s:=i একটি স্ট্রিং হিসাবে
-
s:=s-এর অক্ষর সাজান
-
t:=n একটি স্ট্রিং হিসাবে
-
t:=t
এর অক্ষর সাজান -
যদি s হয় t এর মতো, তাহলে
-
রিটার্ন ট্রু
-
-
i:=i*2
-
-
রিটার্ন ফলস
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(n):
i=1
while i<=1000000000:
s=str(i)
s=''.join(sorted(s))
t=str(n)
t=''.join(sorted(t))
if s==t:
return True
i=i*2
return False
N = 812
print(solve(N))
ইনপুট
812
আউটপুট
True