เมื่อจำเป็นต้องพิมพ์ตัวเลข disarium ทั้งหมดระหว่าง 1 ถึง 100 ลูปแบบง่ายสามารถรันได้ระหว่าง 1 ถึง 100 และความยาวของตัวเลขทุกตัวสามารถคำนวณได้ และกำลังของตำแหน่งสามารถคูณด้วยตัวเลขได้
หากเท่ากันจะถือเป็นเลข disarium
หมายเลข Disarium คือหมายเลขที่ผลรวมของหลักเป็นกำลังของตำแหน่งตามลำดับเท่ากับตัวเลขเดิม
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
ตัวอย่าง
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
คำอธิบาย
- มีการกำหนดวิธีสองวิธี ซึ่งใช้เพื่อค้นหาจำนวนหลักในตัวเลข และเพื่อให้ได้ผลคูณของหลักคูณกับตำแหน่ง
- ผลลัพธ์เริ่มต้นถูกกำหนดเป็น 0
- วนซ้ำบนตัวเลขระหว่าง 1 ถึง 101 (ยกเว้น 101) และหากตัวเลขเหมือนกับผลคูณของตัวเลขในตัวเลขและตำแหน่ง จะถือเป็นตัวเลข disarium
- แสดงเป็นเอาต์พุตบนคอนโซล