5.00 / 1 oy

C# ile Asal Sayıları Bulmak ve Yazdırmak

Bu gece paylaştığım C# For Döngüsü Kullanımı ve C# ile Fibonacci Sayılarını Yazdırmak yazılarından sonra asal sayıları yazdırarak C# programlama dilinde döngü kullanımı örneklerine devam ediyoruz.

Asal sayı, bildiğimiz gibi 1 ve kendisi dışında hiçbir sayıya kalansız olarak bölünemeyen sayılara verilen isimdir. Sitede daha önce farklı programlama dilleri kullanılarak asal sayıları bulan ve yazdıran uygulamalar paylaşılmış.

bkz: Java'da asal sayıları bulan program

bkz: JavaScript'te asal sayıları bulan program

Biz de bu yazıda farklı bir kodlama geliştirelim ve önce bir sayının asal olup olmadığını true ya da false olarak döndüren bir metod yazalım. Sonra da bu metoda kullanıcının girdiği bir sayıdan yine kullanıcının gireceği bir sayıya kadar olan asal sayıları for döngüsü içerisinde göndererek asal olan sayıları yazdıralım.

Örnek 1: Kullanıcının girdiği bir sayının asal bir sayı olup olmadığını bulan program

namespace csharp
{
    class Program
    {
        static void Main(string[] args)
        {
        System.Console.WriteLine("Hangi sayı asal mı diye bakalım?");
        int sayi = Convert.ToInt32(System.Console.ReadLine());

        if (AsalMi(sayi))
            System.Console.WriteLine(sayi + " asal bir sayıdır");
        else
            System.Console.WriteLine(sayi + " asal bir sayı değildir");
        }

        static bool AsalMi (int sayi)
        {
            for (int i=2; i<sayi; i++)
            {
                if (sayi % i == 0) //kalansız bölünmesi şartında
                {
                    return false;
                }
            }
            return true;
        }
    }
}

Çıktı:

Hangi sayi asal mi diye bakalim?
13
13 asal bir sayidir


Hangi sayi asal mi diye bakalim?
6
6 asal bir sayi degildir

 

Örnek 2: Kullanıcının gireceği iki sayı arasındaki asal sayıları bulup yazdıran program

namespace csharp
{
    class Program
    {
        static void Main(string[] args)
        {
        System.Console.WriteLine("ilk sayı kaç olsun?");
        int sayi1 = Convert.ToInt32(System.Console.ReadLine());

        System.Console.WriteLine("ikinci sayı kaç olsun?");
        int sayi2 = Convert.ToInt32(System.Console.ReadLine());

        for (int i=sayi1; i<=sayi2; i++)
        {
            if (AsalMi(i))
                System.Console.WriteLine(i + " asal bir sayıdır");
        }

        
        }

        static bool AsalMi (int sayi)
        {
            for (int i=2; i<sayi; i++)
            {
                if (sayi % i == 0) //kalansız bölünmesi şartında
                {
                    return false;
                }
            }
            return true;
        }
    }
}

Çıktı:

ilk sayi kaç olsun?
20
ikinci sayi kaç olsun?
50
23 asal bir sayidir
29 asal bir sayidir
31 asal bir sayidir
37 asal bir sayidir
41 asal bir sayidir
43 asal bir sayidir
47 asal bir sayidir

 

Önceki yazılarımdan bazıları için;

bkz: C# Kullanıcıdan int veri tipinde input almak

bkz: C# dairenin çevresini ve alanını metod kullanarak hesaplamak

bkz: C# metodları kullanarak dört işlem yapmak

bkz: C# TryParse metodu kullanımı ve örnekleri

mbologlu

07.04.2021 01:36

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# ile Asal Sayıları Bulmak ve Yazdırmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.