1. Ana Sayfa
  2. Nesne Tabanlı Programlama
  3. Visual Studio C# Dersleri – C# ile Narsistik – Armstrong Sayıları Bulma

Visual Studio C# Dersleri – C# ile Narsistik – Armstrong Sayıları Bulma

armstrong

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 😀

Ş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();
Yorum Yap
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Yorum
Inline Feedbacks
View all comments