কোনো দেওয়া সংখ্যা হারশাদ নম্বর কিনা তা নির্ধারণ করতে একটি সিম্পল লুপ এবং '%', '+', '//' অপারেটর ব্যবহার করা যায়।
হারশাদ নম্বরকে নিভেন নম্বর (Niven number) ও বলা হয়। এটি এমন একটি সংখ্যা যার বেস একটি ইন্টিজার যা তার অঙ্কগুলোর যোগফল দিয়ে ভাগ করা যায় যখন এটি সেই বেস ভ্যালু হিসেবে লেখা হয়।
নিচে ডেমোстран্স্ট্রেশন দেওয়া হলো:
উদাহরণ
my_num = 134
remaining = sum_val = 0
print("A copy of the number to be checked is being made...")
my_num_copy = my_num
while my_num > 0:
remaining = my_num % 10
sum_val = sum_val + remaining
my_num = my_num // 10
if my_num_copy % sum_val == 0:
print(str(my_num_copy) + " is a Harshad number")
else:
print(str(my_num_copy) + " isn't a Harshad number")
আউটপুট
A copy of the number to be checked is being made... 134 isn't a Harshad number
ব্যাখ্যা
- একটি নম্বর সংজ্ঞায়িত করা হয়েছে।
- একটি সম ভেরিয়েবল ০-এ অ্যাসাইন করা হয়েছে।
- নম্বরটি ০-এর চেয়ে বড় কিনা চেক করা হয়েছে, এবং মডুলাস অপারেশন পারফর্ম করা হয়েছে।
- এই রেজাল্ট 'sum'-এ যোগ করা হয়েছে এবং নম্বরটি আবার ১০ দিয়ে ফ্লোর ডিভাইড করা হয়েছে।
- যদি নম্বর এবং সম ভাগ করলে ভাগশেষ ০ হয়, তবে এটি হারশাদ নম্বর বলে বিবেচনা করা হয়।
- অন্যথায়, এটি হারশাদ নম্বর হিসেবে বিবেচনা করা হয় না।