Divizyon Yazılım Çözümleri olarak fırsat buldukça bilgisayar mühendisliği ve bilgisayar programcılığı öğrencilerine örnek olacak kodlar sunmaya devam ediyoruz. Eğitime tam destek blog yazılarımıza C# ile asal sayı bulma programı ile devam ediyoruz. Bilgisayar mühendisliği öğrencileri için, algoritmik düşünme becerilerini geliştirecek ve C#’ın temel özelliklerini kullanmalarını sağlayacak bir soru ve çözüm önerisi hazırlayalım.

Soru: Asal Sayı Bulucu

Kullanıcıdan bir sayı girmesini isteyin (n). Bu sayıya kadar olan tüm asal sayıları bulan ve bu asal sayıları bir liste olarak döndüren bir C# uygulaması yazın.

Çözüm

Bu sorunun çözümünde, bir sayının asal olup olmadığını kontrol eden bir yardımcı fonksiyon ve ana fonksiyon içinde bu yardımcı fonksiyonu kullanarak istenen aralıktaki asal sayıları bulan bir döngü kullanacağız.

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        Console.Write("Bir sayı giriniz: ");
        int n = Convert.ToInt32(Console.ReadLine());
        List<int> asalSayilar = AsalSayilariBul(n);
        Console.WriteLine($"1'den {n} sayısına kadar olan asal sayılar: ");
        foreach (var sayi in asalSayilar)
        {
            Console.Write(sayi + " ");
        }
    }

    static List<int> AsalSayilariBul(int n)
    {
        List<int> asalSayilar = new List<int>();
        for (int sayi = 2; sayi <= n; sayi++)
        {
            if (AsalMi(sayi))
            {
                asalSayilar.Add(sayi);
            }
        }
        return asalSayilar;
    }

    static bool AsalMi(int sayi)
    {
        for (int i = 2; i <= Math.Sqrt(sayi); i++)
        {
            if (sayi % i == 0)
            {
                return false;
            }
        }
        return true;
    }
}

Bu program, kullanıcıdan bir sayı alır (n) ve 1 ile n arasındaki tüm asal sayıları hesaplar. AsalMi fonksiyonu, bir sayının asal olup olmadığını kontrol ederken, AsalSayilariBul fonksiyonu, belirtilen aralıktaki tüm asal sayıları bulur ve bir liste olarak döndürür. Bu program, algoritmik düşünme, döngüler, fonksiyonlar ve liste kullanımı gibi temel programlama kavramları üzerinde çalışmak için mükemmel bir örnektir.

Yorum Yazın

E-Posta Adresiniz görüntülenmeyecektir. Zorunlu alanlar *
Yan taraftaki HTML kodları kullanarak yorum yapabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>