Narsistik veya Armstrong sayılarında her basamağın, sayının basamak sayı kadar kuvvetinin alınıp toplanmaları ile elde edilen sonuç, sayının kendisidir. yani
153 = 1^3 + 5^3 + 3^3
370 = 3^3 + 7^3 + 0^3
1634 = 1^4 + 6^4 + 3^4 + 4^4
listede başka hangi sayılar var hangileri Narsistik veya Armstrong sayı diye merak ediyorsanız liste 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748, 92727, 93084, 548834, 1741725, 4210818, 9800817, 9926315, 24678050, 24678051, 88593477, 146511208, 472335975, 534494836, 912985153, 4679307774, 32164049650, 32164049651 gibi uzuyor :D
Şimdi bu listede yer alan Narsistik veya Armstrong sayıları C# ile nasıl buluruz ona bakalım ilk olarak sayıyı basamaklarına yarıracağız daha sonra basamak sayısı kadar kuvvetini alıp toplayacağız..
100 ile 1000 arasındaki Narsistik veya Armstrong sayıları bulan C# programı
System.Console.WriteLine("100-1000 arasındaki Narsistik - Armstrong Sayıları"); for (int i = 100; i <= 999; i++) { int a = i / 100; int b = (i - a * 100) / 10; int c = (i - a * 100 - b * 10); int d = a * a * a + b * b * b + c * c * c; if (i == d) System.Console.WriteLine("{0}", i); } Console.ReadKey();
Girilen sayını Armstrong sayısı olup olmadığını kontrol eden program
int no,r,toplam=0,n=0; Console.WriteLine("Bir Sayı Girinn"); no = Int32.Parse(Console.ReadLine()); n = no; while (n > 0) { r = n % 10; n = n / 10; toplam += r*r*r; } if (toplam == no) { Console.WriteLine("{0} Armstrong sayısıdır" , no); } else { Console.WriteLine("{0} Armstrong sayısı değildir", no); } Console.ReadLine();
3 haneli en büyük narsistik sayıyı nasıl bulabilirim
merhaba, 1 ile 9999 arsındaki armstrong sayılarını nasıl listeleriz?
döngüdeki aralıkları değiştirmeyi denediniz mi ?