C# Dersleri 43 - Armstrong Sayılar


C# ile Bir Sayının Armstrong Sayı Olup Olmadığını Bulan Program

Bu pratikte, C# dilinde döngüler kullanarak girilen sayının Armstrong sayısı olup olmadığını kontrol eden bir program yazacağız. Armstrong sayısı, bir sayının rakamlarının küplerinin toplamına eşit olduğu bir sayıdır. Örneğin, 153 sayısı bir Armstrong sayısıdır çünkü 1³ + 5³ + 3³ = 153. C# dilinde Armstrong sayısını bulmak, sayının basamaklarını ayırarak ve her basamağın küpünü alarak yapılabilir.

Pratik Kodu:

using System;

class Program
{
    static void Main()
    {
        // Kullanıcıdan bir sayı alınır
        Console.Write("Bir sayı girin: ");
        int number = int.Parse(Console.ReadLine());
        
        // Sayının basamak sayısını bulma
        int temp = number;
        int sum = 0;
        int digits = 0;
        
        // Sayının basamak sayısını hesaplamak için döngü
        while (temp != 0)
        {
            digits++;
            temp /= 10;
        }

        temp = number;

        // Sayının Armstrong olup olmadığını kontrol etmek için döngü
        while (temp != 0)
        {
            int digit = temp % 10; // Rakamı almak için
            sum += (int)Math.Pow(digit, digits); // Rakamların küpünü almak
            temp /= 10; // Bir sonraki basamağa geçmek
        }

        // Sonuç
        if (sum == number)
        {
            Console.WriteLine($"{number} bir Armstrong sayısıdır.");
        }
        else
        {
            Console.WriteLine($"{number} bir Armstrong sayısı değildir.");
        }
    }
}

Örnek Çıktı:

Senaryo 1:

Bir sayı girin: 153
153 bir Armstrong sayısıdır.

Senaryo 2:

Bir sayı girin: 123
123 bir Armstrong sayısı değildir.

Senaryo 3:

Bir sayı girin: 9474
9474 bir Armstrong sayısıdır.

Bu C# programı, kullanıcıdan alınan sayının Armstrong sayısı olup olmadığını kontrol eder. Program, sayının basamaklarını ayırıp her basamağın küpünü alarak toplamını bulur ve bu toplam, sayının kendisiyle eşleşiyorsa, sayının Armstrong sayısı olduğunu belirler. Eğer eşleşmiyorsa, sayının Armstrong sayısı olmadığı sonucuna varılır.