เมื่อจำเป็นต้องตรวจสอบว่า nber ที่ระบุเป็นตัวเลข disarium หรือไม่ การคำนวณผลรวมของตัวเลขที่ส่งไปยังตำแหน่งที่เกี่ยวข้อง ก่อนหน้านี้จะกำหนดจำนวนหลักที่แสดงในตัวเลข
หมายเลข Disarium คือหมายเลขที่ผลรวมของหลักเป็นกำลังของตำแหน่งตามลำดับเท่ากับตัวเลขเดิม
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
ตัวอย่าง
def length_calculation(num_val):
length = 0
while(num_val != 0):
length = length + 1
num_val = num_val//10
return length
my_num = 192
remaining = sum_val = 0
len_val = length_calculation(my_num)
print("A copy of the original number is being made...")
num_val = my_num
while(my_num > 0):
remaining = my_num%10
sum_val = sum_val + int(remaining**len_val)
my_num = my_num//10
len_val = len_val - 1
if(sum_val == num_val):
print(str(num_val) + " is a disarium number !")
else:
print(str(num_val) + " isn't a disarium number") ผลลัพธ์
A copy of the original number is being made... 192 isn't a disarium number
คำอธิบาย
- มีการกำหนดวิธีการชื่อ 'length_calculation' ซึ่งคำนวณจำนวนหลักในตัวเลข
- คำนวณการหารพื้นของตัวเลขและคืนค่าความยาวของตัวเลข
- หมายเลขถูกกำหนดและแสดงบนคอนโซล
- มันใช้การดำเนินการโมดูลัสเพื่อรับส่วนที่เหลือ และเพิ่มลงในตัวแปรผลรวม
- กำลังของตำแหน่งนั้นคูณด้วยตัวมันเอง
- เปรียบเทียบกับตัวเลข
- ถ้าเท่ากัน แสดงว่าเป็นเลข Harshad ไม่เช่นนั้นจะไม่ใช่