Trình kiểm tra số Python Armstrong
Xác minh xem một số có phải là số Armstrong (tự ái) trong đó tổng các chữ số của chính nó được nâng lên lũy thừa của số chữ số bằng chính số đó hay không.
Tổng quan
Số Armstrong (còn được gọi là số bất biến số đa năng hoặc tự ái) là số có n chữ số bằng tổng lũy thừa thứ n của các chữ số của nó.
Ví dụ: 153 là số Armstrong có 3 chữ số vì 1^3 + 5^3 + 3^3 = 153. Tương tự, 9474 là số Armstrong có 4 chữ số vì 9^4 + 4^4 + 7^4 + 4^4 = 9474.
Chúng tôi triển khai điều này bằng Python bằng cách chuyển đổi số nguyên thành chuỗi để dễ dàng đếm số chữ số và lặp qua từng chữ số.
Đầu ra mã & thực thi
Kiểm tra một chuỗi số để xác định xem chúng có đáp ứng tiêu chí toán học cho số Armstrong hay không.
armstrong.py
Thử trong Trình chỉnh sửadef is_armstrong(num):
num_str = str(num)
n = len(num_str)
digit_sum = sum(int(digit) ** n for digit in num_str)
return digit_sum == num
test_nums = [153, 370, 9474, 123]
for val in test_nums:
result = "Armstrong" if is_armstrong(val) else "Not Armstrong"
print(f"{val:4d} -> {result}")Đầu ra thiết bị đầu cuối
153 -> Armstrong
370 -> Armstrong
9474 -> Armstrong
123 -> Not ArmstrongTriển khai từng bước
- Nghiên cứu lý thuyết số và bài tập logic
- Bài tập lập trình toán lớp học
- Lập trình giải trí
Câu hỏi thường gặp
Có phải tất cả các số có một chữ số đều là số Armstrong không?
Vâng. Bất kỳ chữ số đơn lẻ nào được nâng lên lũy thừa 1 đều bằng chính nó (ví dụ: 5^1 = 5).