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.