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.
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."); } } }
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.