Python Armstrong Sayı Denetleyicisi

Bir sayının, kendi basamaklarının toplamının basamak sayısının üssüne eşit olduğu bir Armstrong (narsisistik) sayısı olup olmadığını doğrulayın.

Editör'de deneyin

Genel Bakış

Armstrong sayısı (narsisistik veya çok mükemmel dijital değişmez sayı olarak da bilinir), rakamlarının n'inci kuvvetlerinin toplamına eşit olan n basamaklı bir sayıdır.

Örneğin 153 3 basamaklı bir Armstrong sayısıdır çünkü 1^3 + 5^3 + 3^3 = 153. Benzer şekilde 9474 4 basamaklı bir Armstrong sayısıdır çünkü 9^4 + 4^4 + 7^4 + 4^4 = 9474.

Bunu Python'da, basamak sayısını kolayca saymak ve her basamakta yineleme yapmak için tamsayıyı bir dizeye dönüştürerek uygularız.

Kod ve Yürütme Çıkışı

Armstrong sayılarına ilişkin matematiksel kriterleri karşılayıp karşılamadıklarını belirlemek için bir dizi sayıyı kontrol edin.

armstrong.py
Editör'de deneyin
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}")
Terminal Çıkışı
 153 -> Armstrong
 370 -> Armstrong
9474 -> Armstrong
 123 -> Not Armstrong

Adım Adım Uygulama

  • Sayı teorisi araştırması ve mantık alıştırmaları
  • Sınıf matematik programlama ödevleri
  • Rekreasyonel programlama

Sıkça Sorulan Sorular

Tüm tek basamaklı sayılar Armstrong sayıları mıdır?

Evet. 1'in üssü olan herhangi bir rakam kendisine eşittir (örneğin, 5^1 = 5).

İlgili Konular