Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python พิมพ์ตัวเลข Disarium ทั้งหมดระหว่าง 1 ถึง 100


เมื่อจำเป็นต้องพิมพ์ตัวเลข 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
  • แสดงเป็นเอาต์พุตบนคอนโซล