Etiketler :
narsistik sayı
özel sayılar
sayılar
Armstrong Sayısı Nedir? Armstrong sayıları, ismini Amerikalı matematikçi Michael F. Armstrong’dan almıştır. Armstrong, 1969 yılında bir matematik yarışmasında bu tür sayıları tanımlamıştır. Bu çeşit sayılar aslında daha öncesinden bilinmektedir. Hindu-Arap rakamlarının kullanımı ile ilgili eski eserlerde bu çeşit sayılara rastlanılmıştır. Armstrong, bu tür sayıları matematik dünyasında popüler hale getiren kişi olduğundan bu sayılar onun ismi ile anılmıştır. Armstrong sayılarına narsistik sayılar da denilmektedir. Herhangi bir sayı tabanındaki, her bir basamağı sayıdaki basamak sayısının kuvveti alınarak elde edilen bütün kuvvetler toplanıldığında eğer toplam sonucu aynı sayının kendisini veriyorsa bu sayı Armstrong sayısı olur. Sayıların tabanı farketmez. 2lik, 3lük, 4 lük ...şeklinde her tabanda bu tanıma uygun sayılar elde edilir. Sayının belirli bir sayı tabanındaki davranış biçimi nedeniyle Armstrong sayıları; bilgisayar yazılımcıları ve yeni bir programlama dili öğrenenler için özel bir ilgi alanı haline gelmiştir.
Örneğin, 153 sayısı için (onluk sayı tabanında) ondalık sistem kullanıldığında 3 basamaklı bir sayı olduğunu görürüz. Her bir basamağını 3'ün kuvvetine göre yükselterek basit bir matematiksel işlem yapar ve sonra elde edilen bütün kuvvetleri toplamı toplarsak, 153'ü elde ederiz. Yani 1'in 3'üncü kuvveti, 5'in 3'üncü kuvveti, 3'ün üçüncü kuvveti şeklinde yani 153 sayısını 1³+ 5³+ 3³=153 olarak gösterilebiliriz. İşte bu nedenle 153 sayısı, 10'luk sayı tabanında Armstrong sayısının bir örneği olur. Dolayısıyla, herhangi bir sayı sisteminde, bir sayıyı oluşturan her bir rakam, sayının basamak sayısı kadar rakamsal kuvvetine yükseltilip tüm sonuçlar toplandığında, elde edilen sayı orijinal sayıya eşit oluyorsa, böyle bir sayıya Armstrong sayısı denir. Mesela bu tanıma göre 143 sayısı 1³+4³+3³=92 olduğundan Armstrong sayısı değildir.
Armstrong sayılarının mantıksal formülünü anlamak için, Armstrong sayı özelliğinin herhangi bir sayı sisteminde doğru olduğunu göstermek gerekir. Herhangi bir 6 basamaklı 548834 sayısını alalım ve Armstrong sayılarının özelliğini sağlayıp sağlamadığını kontrol edelim. 6 basamaklı 548834 sayısını 5⁶+ 4⁶+ 8⁶+ 8⁶+ 3⁶+ 4⁶ =548834 şeklinde her bir basamağı altı kuvvetinde yazıp elde edilen terimlerin toplamını hesapladığımızda, toplam sonucu orijinal sayının kendisi olan 548834 sayısını verir. Bu nedenle 548834 bir Armstrong sayısı olur.
Armstrong Sayısı Örnekleri olarak 0, 1, 2, 3,,4 5, 6, 7, 8 ,9, 153, 370, 371 ve 407 sayıları bir Armstrong sayı listesidir. Nedenini kontrol edelim?
0 için işlem 0¹=0
1 için işlem 1¹=1
2 için işlem 2¹=2
3 için işlem 3¹=3
4 için işlem 4¹=4
5 için işlem 5¹=5
6 için işlem 6¹=6
7 için işlem 7¹=7
8 için işlem 8¹=8
9 için işlem 9¹=9
153 için işlem 1³+5³+3³=153
370 için işlem 3³+ 7³+0³=370
371 için işlem 3³+ 7³+ 1³=371
407 için işlem 4³+ 0³+ 7³=407
.........................
10luk
sayı tabanında sadece 88 tane Armstrong (Narsistik) sayı vardır.
Bunların en büyüğü 39 basamaklıdır. Onluk sayı tabanındaki en küçük
Armstrong sayısı 0 olup, en büyük Armstrong sayısı 39 basamaklı: 115132219018763992565095597973971522401 sayısıdır.
10 tabanındaki tüm Armstrong sayıları
Bir basamaklı Armstrong Sayıları:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Üç basamaklı Armstrong Sayıları:
153, 370, 371, 407
Dört basamaklı Armstrong Sayıları:
1634, 8208, 9474
Beş basamaklı Armstrong Sayıları:
54748, 92727, 93084
Altı basamaklı Armstrong Sayıları:
548834
Yedi basamaklı Armstrong Sayıları:
1741725, 4210818, 9800817, 9926315
Sekiz basamaklı Armstrong Sayıları:
24678050, 24678051, 88593477
Dokuz basamaklı Armstrong Sayıları:
146511208, 472335975, 534494836, 912985153
On basamaklı Armstrong Sayıları: 4679307774
Onbir basamaklı Armstrong Sayıları:
32164049650, 32164049651, 40028394225, 42678290603, 44708635679, 49388550606, 82693916578, 94204591914
Ondört basamaklı Armstrong Sayıları:
28116440335967
Onaltı basamaklı Armstrong Sayıları:
4338281769391370, 4338281769391371
Onyedi basamaklı Armstrong Sayıları:
21897142587612075, 35641594208964132, 35875699062250035
Ondokuz basamaklı Armstrong Sayıları:
1517841543307505039, 3289582984443187032, 4498128791164624869, 4929273885928088826
Yirmi basamaklı Armstrong Sayıları:
63105425988599693916
Yirmibir basamaklı Armstrong Sayıları:
128468643043731391252, 449177399146038697307
Yirmiüç basamaklı Armstrong Sayıları:
21887696841122916288858, 27879694893054074471405, 27907865009977052567814,
28361281321319229463398, 35452590104031691935943
Yirmidört basamaklı Armstrong Sayıları:
174088005938065293023722, 188451485447897896036875, 239313664430041569350093
Yirmibeş basamaklı Armstrong Sayıları:
1550475334214501539088894,
1553242162893771850669378, 3706907995955475988644380,
3706907995955475988644381, 4422095118095899619457938
Yirmiyedi basamaklı Armstrong Sayıları:
121204998563613372405438066, 121270696006801314328439376,
128851796696487777842012787, 174650464499531377631639254,
177265453171792792366489765
Yirmidokuz basamaklı Armstrong Sayıları:
14607640612971980372614873089, 19008174136254279995012734740,
19008174136254279995012734741, 23866716435523975980390369295
Otuzbir basamaklı Armstrong Sayıları:
1145037275765491025924292050346, 1927890457142960697580636236639,
2309092682616190307509695338915
Otuziki basamaklı Armstrong Sayıları: 17333509997782249308725103962772
Otuzüç basamaklı Armstrong Sayıları:
186709961001538790100634132976990, 186709961001538790100634132976991
Otuzdört basamaklı Armstrong Sayıları:
1122763285329372541592822900204593
Otuzbeş basamaklı Armstrong Sayıları:
12639369517103790328947807201478392, 12679937780272278566303885594196922
Otuzyedi basamaklı Armstrong Sayıları:
1219167219625434121569735803609966019
Otuzsekiz basamaklı Armstrong Sayıları:
12815792078366059955099770545296129367
Otuzdokuz basamaklı Armstrong Sayıları:
115132219018763992565095597973971522400, 115132219018763992565095597973971522401
Armstrong sayısının programlama dili olan Python'da ne olduğunu anlamak için aşağıdaki adımları kullanabilirsiniz.
num= int(input(‘Enter a number: ‘))
num_original =num2=num
sum1 = 0
cnt=0
while(num>0):
cnt=cnt 1
num=num//10
while num2>0:
rem = num2% 10
sum1 = rem ** cnt
num2//= 10
if(num_original==sum1):
print(‘Armstrong!!’)
else:
print(‘Not Armstrong!’)
Output
Belli bir sayı aralığında Armstrong sayısının bulunup bulunmadığını kontrol etmek için Python programlama kullanılabilir. Bunun için hangi sayı aralığı yazılacaksa bunlar Python'a girilir ve program çalıştırılır.
Örneğin 1 ile 100000 arasındaki sayıların arasında kalan Armstrong Sayıları Pyhton kodlamada şu şekilde tespit edilir:
alt_sınır = 1
üst_sınır = 100000
(alt_sınır , üst_sınır ) aralığındaki num için : num_str = str ( num ) num_len = len ( num_str ) armstrong_sum = sum ( int ( rakam ) ** num_len num_str'deki rakam için )
eğer armstrong_sum == num ise :
print ( f " { num } bir Armstrong sayısıdır." )
n basamaklı bir sayının Armstrong sayısı olup olmadığını belirlemek için C programlama dili kullanılabilir. Bunun için aşağıdaki kodlama yapılır.
Armstrong Sayısı (n Basamaklı)
#include <stdio.h>
#include <math.h>
int main()
{
int number, originalNumber, remainder, result = 0, n = 0 ;
printf("Bir tamsayı girin: ");
scanf("%d", &number);
originalNumber = number;
while (originalNumber != 0)
{
originalNumber /= 10;
++n;
}
originalNumber = number;
while (originalNumber != 0)
{
remainder = originalNumber%10;
result += pow(remainder, n);
originalNumber /= 10;
}
if(result == number)
printf("%d Armstrong Sayısıdır.", number);
else
printf("%d Armstrong Sayısı değildir.", number);
return 0;
}
Phyton programı örnek çıktısı: (narsistik sayılar):
0 bir armstrong sayısıdır.
1 bir armstrong sayısıdır.
2 bir armstrong sayısıdır.
3 bir armstrong sayısıdır.
4 bir armstrong sayısıdır.
5 bir armstrong sayısıdır.
6 bir armstrong sayısıdır.
7 bir armstrong sayısıdır.
8 bir armstrong sayısıdır.
9 bir armstrong sayısıdır.
153 bir armstrong sayısıdır.
370 bir armstrong sayısıdır.
371 bir armstrong sayısıdır.
407 bir armstrong sayısıdır.
1634 bir armstrong sayısıdır.
8208 bir armstrong sayısıdır.
9474 bir armstrong sayısıdır.
54748 bir armstrong sayısıdır.
92727 bir armstrong sayısıdır.
93084 bir armstrong sayısıdır.
548834 bir armstrong sayısıdır.
....................
Fayda vermeyen ilimden Allah'a sığınırım. “Allah'ım; bana öğrettiklerinle beni faydalandır, bana fayda sağlayacak ilimleri öğret ve ilmimi ziyadeleştir."
İlim; amel etmek ve başkalarıyla paylaşmak içindir. Niyetimiz hayır, akıbetimiz hayır olur inşallah. Dua eder, dualarınızı beklerim...