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.

Thử trong Trình chỉnh sửa

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.

def 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 Armstrong

Triể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).

Chủ đề liên quan