Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya bir sayı (sayi) veriliyor ve o sayının asal sayı olup olmadığını bulması isteniyor. Ayrıca, asal olmayan sayının tüm bölenlerinin de ek olarak yazdırılması gerektiği belirtiliyor.

    Örnek

    Girdi Çıktı
    sayi: 17 sonuc: Asal sayıdır
    isim: 18 sonuc: Asal sayı değil. Tam bölenler: 1, 2, 3, 6, 9

    Çözüm - C#

    using System;
    using System.Collections.Generic;
    
    namespace CodingChallenges
    {
        public class Program
        {
            public static void Main()
            {
                int sayi = 18;
                var sayininYarisi = Math.Round((double)sayi / 2 + 1);
    
                List<int> dizi = new List<int>();
                for (int i = 1; i < sayininYarisi; i++)
                {
                    if (sayi % i == 0)
                        dizi.Add(i);
                }
    
                if (dizi.Count == 1)
                    Console.WriteLine("Asal sayıdır");
                else
                    Console.WriteLine($"Asal sayı değil. Tam bölenler: {string.Join(" ", dizi)}");
    
                Console.Read();
            }
        }
    }
    

    Çözüm - Python

    sayi = 18
    sayinin_yarisi = round(sayi / 2) + 1
    
    dizi = []
    for _ in range(1, sayinin_yarisi):
        if sayi % _ == 0:
            dizi.append(_)
    
    if len(dizi) == 1:
        print("Asal sayıdır")
    else:
        print("Asal sayı değil. Tam bölenler:", dizi)