C Programlama İle Armstrong Sayıları Bulalım

C dili hakkında bilgiler, kaynaklar, dokümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

C Programlama İle Armstrong Sayıları Bulalım

Mesaj gönderen admin »

Armstrong sayı nedir ?

Tüm basamaklarındaki rakamların sayı değerlerinin küpleri toplamı, kendisine eşit olan sayılara "Armstrong sayı" denir. Diğer bir deyişle her bir basamağın o sayının basamak sayısı kadar üssü alınarak toplanmasıdır. Eğer toplam bu sayıyı veriyorsa o sayı Armstrong Sayıdır.

Bazı Armstrong sayılar : 0, 1, 2, 3, 153, 370, 407, 1634, 8208

153 = 13 + 53 + 33
1634 = 14 + 64 + 34 + 44


Mantık : abcd… = an + bn + cn + dn + …

Örnek : Armstrong sayısı 3 hane olması durumunda, her hanenin küplerinin toplamı, sayının kendisine eşittir.

153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 bir Armstrong Sayısıdır.

Bir tamsayının, bir Armstrong Sayısı olup olmadığını kontrol etmek için if .. else ve while döngüsü ile hazırlanan çalışma aşağıdadır.

Kaynak Kodu :

Kod: Tümünü seç

#include <stdio.h>
#include <math.h>

int main()
{
    int number, originalNumber, remainder, result = 0, n = 0 ;

    printf("Bir tamsayi giriniz: ");
    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 Sayisidir.", number);
    else
        printf("%d Armstrong Sayisi degildir.", number);

    return 0;
}
Ekran Çıktıları :

Resim

Resim
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.

Etiketler:
Cevapla

“C Programlama” sayfasına dön