Khi cần kiểm tra số cho trước có phải Disarium, tính tổng chữ số lũy thừa vị trí. Trước đó xác định số chữ số.
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(num_val):
length = 0
while num_val != 0:
length += 1
num_val //= 10
return length
my_num = 192
remaining = sum_val = 0
len_val = length_calculation(my_num)
print("Đang tạo bản sao số gốc...")
num_val = my_num
while my_num > 0:
remaining = my_num % 10
sum_val += int(remaining ** len_val)
my_num //= 10
len_val -= 1
if sum_val == num_val:
print(str(num_val) + " là số Disarium!")
else:
print(str(num_val) + " không phải số Disarium")
Đầu ra
Đang tạo bản sao số gốc... 192 không phải số Disarium
Giải thích
- Định nghĩa 'length_calculation' tính số chữ số.
- Chia nguyên số, trả về độ dài.
- Định nghĩa số, hiển thị.
- Dùng modulus lấy dư, cộng vào sum.
- Lũy thừa vị trí nhân với số.
- So sánh với số.
- Nếu bằng => Harshad (sửa: Disarium), ngược lại không.