Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya bir sayı (girilenSayi) veriliyor. Bu noktadan sonra, girilen sayının güçlü sayı olup olmadığını bulan bir kod yazması isteniyor.

    Güçlü sayı, basamaklarının faktör toplamının, sayının kendisine eşit olduğu sayıdır.

    Örnek

    Girdi Çıktı
    girilenSayi: 145 –> 1!+4!+5!=145 Sonuç: Güçlü Sayı!

    Çözüm - C#

    using System;
    
    class Program
    {
        static void Main()
        {
            int girilenSayi = 145;
    
            // girilenSayı'yı tek tek ayır
            char[] numaralar = girilenSayi.ToString().ToCharArray();
    
            // Her bir karakterdeki sayının faktöriyelini al
            int faktoriyel = 1, toplam = 0;
            foreach (char karakter in numaralar)
            {
                int sayi = int.Parse(karakter.ToString());
                for (int i = sayi; i >= 1; i--)
                {
                    faktoriyel *= i;
                }
    
                // Her bir sayının faktöriyel sonucunu toplama ekle
                toplam += faktoriyel;
                faktoriyel = 1;
            }
    
            // Toplam sayısını yazıya çevir ve girilen sayıyla eşit olup olmadığını kontrol et
            string toplamYazi = toplam.ToString();
            if (toplamYazi == new string(numaralar))
            {
                Console.WriteLine("Güçlü Sayı!");
            }
    
            Console.WriteLine("Güçlü Sayı Değil!");
    
            Console.Read();
        }
    }