เมื่อจำเป็นต้องตรวจสอบว่า 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 ไม่เช่นนั้นจะไม่ใช่