ধরুন আমাদের একটি সংখ্যা n আছে। সেভেন সেগমেন্ট ডিসপ্লেতে প্রদর্শিত হলে সংখ্যাটির মিরর ইমেজ প্রদত্ত সংখ্যার মতোই কিনা তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুট n =818 এর মত হয়, তাহলে আউটপুট হবে True।
মিরর ইমেজ একই।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- num_str :=n স্ট্রিং হিসাবে
- আমি 0 থেকে num_str - 1 এর পরিসরে, কর
- যদি num_str[i] না হয় ['0', '1', '8'] তাহলে, তারপর
- মিথ্যে ফেরত দিন
- যদি num_str[i] না হয় ['0', '1', '8'] তাহলে, তারপর
- বামে :=0
- ডান:=num_str - 1 এর আকার
- যখন বাম <ডানে, কর
- যদি num_str[left] num_str[right] এর মত না হয়, তাহলে
- মিথ্যে ফেরত দিন
- বাম :=বাম + 1
- ডান:=ডান - 1
- যদি num_str[left] num_str[right] এর মত না হয়, তাহলে
- সত্য ফেরান
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(n): num_str = str(n) for i in range(len(num_str)): if num_str[i] not in ['0', '1', '8']: return False left = 0 right = len(num_str) - 1 while left < right: if num_str[left] != num_str[right]: return False left += 1 right -= 1 return True n = 818 print(solve(n))
ইনপুট
818
আউটপুট
True