1. Anasayfa
  2. Nesne Tabanlı Programlama

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

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

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();
Bu İçeriğe Tepkin Ne Oldu?
  • 4
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 1
    te_ekk_rler
    Teşekkürler
  • 4
    anlamad_m
    Anlamadım
  • 0
    yetersiz
    Yetersiz
İlginizi Çekebilir
Subscribe
Bildir
guest

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

3 Yorum
Inline Feedbacks
View all comments
sena

3 haneli en büyük narsistik sayıyı nasıl bulabilirim

Gamze

merhaba, 1 ile 9999 arsındaki armstrong sayılarını nasıl listeleriz?