Armstrong Numarasını Kontrol Etmek İçin Python Programı

Bu örnekte, n basamaklı bir tamsayının Armstrong sayısı olup olmadığını kontrol etmeyi öğreneceksiniz.

Bu örneği anlamak için, aşağıdaki Python programlama konuları hakkında bilgi sahibi olmalısınız:

  • Python if… else İfadesi
  • Python Döngü sırasında

Pozitif bir tam sayıya Armstrong sıra numarası denir.

abcd… = bir n + b n + c n + d n +…

Armstrong sayısının 3 basamak olması durumunda, her basamağın küplerinin toplamı, sayının kendisine eşittir. Örneğin:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153, bir Armstrong numarasıdır. 

Kaynak Kodu: Armstrong numarasını kontrol edin (3 hane için)

 # Python program to check if the number is an Armstrong number or not # take input from the user num = int(input("Enter a number: ")) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** 3 temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Çıkış 1

 Bir sayı girin: 663663 bir Armstrong numarası değildir 

Çıkış 2

 Bir sayı girin: 407407 bir Armstrong numarasıdır 

Burada kullanıcıdan bir numara istiyoruz ve bir Armstrong numarası olup olmadığını kontrol ediyoruz.

Her basamağın küpünün toplamını hesaplamamız gerekiyor. Bu nedenle, toplamı 0 olarak başlatıyoruz ve% modül operatörünü kullanarak her basamaklı sayıyı elde ediyoruz. Bir sayının 10'a bölündüğünde kalanı o sayının son basamağıdır. Üslü operatör kullanarak küpleri alıyoruz.

Son olarak, toplamı orijinal sayı ile karşılaştırıyoruz ve eşitlerse Armstrong numarası olduğu sonucuna varıyoruz.

Kaynak Kodu: Armstrong sayısını n basamak kontrol edin

num = 1634 # Changed num variable to string, # and calculated the length (number of digits) order = len(str(num)) # initialize sum sum = 0 # find the sum of the cube of each digit temp = num while temp> 0: digit = temp % 10 sum += digit ** order temp //= 10 # display the result if num == sum: print(num,"is an Armstrong number") else: print(num,"is not an Armstrong number") 

Kaynak koddaki num değerini değiştirebilir ve test etmek için tekrar çalıştırabilirsiniz.

Ilginç makaleler...