Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python in tất cả số Disarium từ 1 đến 100

Khi cần in tất cả số Disarium từ 1 đến 100, chạy vòng lặp 1..100, tính độ dài mỗi số, lũy thừa vị trí nhân với số.

Nếu bằng nhau => Disarium.

Số Disarium: tổng chữ số lũy thừa vị trí tương ứng bằng chính số đó.

Minh họa:

Ví dụ

def length_calculation(my_val):
    len_val = 0
    while my_val != 0:
        len_val += 1
        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 += remaining ** len_fun
        my_num //= 10
        len_fun -= 1
    return sum_val

ini_result = 0
print("Các số Disarium từ 1 đến 100: ")
for i in range(1, 101):
    ini_result = digit_sum(i)
    if ini_result == i:
        print(i)

Đầu ra

Các số Disarium từ 1 đến 100:
1
2
3
4
5
6
7
8
9
89

Giải thích

  • Định nghĩa hai phương thức: tính số chữ số, và tích chữ số lũy thừa vị trí.
  • Gán kết quả ban đầu = 0.
  • Lặp 1..101, nếu số bằng tích chữ số và vị trí => Disarium.
  • Hiển thị đầu ra.