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

โปรแกรม Python พิมพ์ Disarium Numbers ระหว่าง 1 ถึง 100


เมื่อต้องการพิมพ์ Disarium numbers ทั้งหมดระหว่าง 1 และ 100 ให้รันลูประหว่าง 1 และ 100 และคำนวณความยาวของทุกตัวเลข และกำลังของตำแหน่งคูณกับตัวเลขเอง

หากเท่ากัน ถือว่าเป็น Disarium number

Disarium number คือตัวเลขที่ผลรวมของหลักยกกำลังตำแหน่งของแต่ละหลักเท่ากับตัวเลขเดิม

ตัวอย่าง

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

คำอธิบาย

  • กำหนดสองเมธอด ใช้หาจำนวนหลักในตัวเลข และหาผลคูณของหลักคูณกับตำแหน่ง
  • กำหนด initial result = 0
  • ลูปวนตัวเลข 1 ถึง 101 (ไม่รวม 101) หากตัวเลขเท่ากับผลคูณของหลักและตำแหน่ง ถือว่าเป็น Disarium number
  • แสดงเป็นเอาต์พุทบนคอนโซล