১ থেকে ১০০ পর্যন্ত সব ডিজেরিয়াম নম্বর প্রিন্ট করতে ১ থেকে ১০০ পর্যন্ত একটি সিম্পল লুপ চালানো হয় এবং প্রতিটি নম্বরের দৈর্ঘ্য ক্যালকুলেট করা হয়, এবং পজিশনের পাওয়ার নম্বরটির সাথে গুণ করা হয়।
যদি সেগুলো সমান হয়, তবে এটি ডিজেরিয়াম নম্বর বলে বিবেচনা করা হয়।
একটি ডিজেরিয়াম নম্বর হলো এমন সংখ্যা যেখানে এর অঙ্কগুলোর তাদের রেসপেক্টিভ পজিশনের পাওয়ারের যোগফল মূল নম্বরটির সমান হয়।
নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:
উদাহরণ
def length_calculation(my_val):
len_val = 0
while my_val != 0:
len_val = len_val + 1
my_val = my_val // 10
return len_val
def digit_sum(my_num):
remaining = sum_val = 0
len_fun = length_calculation(my_num)
while my_num > 0:
remaining = my_num % 10
sum_val = sum_val + (remaining ** len_fun)
my_num = my_num // 10
len_fun = len_fun - 1
return sum_val
ini_result = 0
print("The disarium numbers between 1 and 100 are : ")
for i in range(1, 101):
ini_result = digit_sum(i)
if ini_result == i:
print(i)
আউটপুট
The disarium numbers between 1 and 100 are : 1 2 3 4 5 6 7 8 9 89
ব্যাখ্যা
- দুটি মেথড সংজ্ঞায়িত করা হয়েছে, যা নম্বরের অঙ্কের সংখ্যা বের করতে এবং অঙ্ককে তার পজিশনের পাওয়ারের সাথে গুণফল বের করতে ব্যবহৃত হয়।
- একটি ইনিশিয়াল রেজাল্ট ০-এ অ্যাসাইন করা হয়েছে।
- ১ থেকে ১০১ পর্যন্ত (১০১ বাদ দিয়ে) নম্বরগুলোতে লুপ ইটারেট করা হয়েছে, এবং যদি নম্বরটি নম্বরের অঙ্ক এবং পজিশনের গুণফলের সমান হয়, তবে এটি ডিজেরিয়াম নম্বর বলে বিবেচনা করা হয়।
- এটি আউটপুট হিসেবে কনসোলে ডিসপ্লে করা হয়েছে।