C# Girilen İki Sayı Arasındaki Asal Sayıları Bulma (Console + Windows Form)

sdkbyrm

webmasterfrm
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Ticaret: 0 / 0 / 0
Bu yazımızda C# Console uygulamasında ve Wİndows Form uygulamasında kullanıcının girmiş olduğu 2 sayı arasındaki asal sayıları ve asal olmayan sayıları listeleyen, asal sayıların adetini gösteren örnekleri oluşturacağız.


İlk olarak Console uygulamasını yapacağız.

Örneğimizi incelediğimizde kullanıcıdan 2 adet sayı alındığını görüyoruz. Bu sayılar bizim aralığı kontrol edeceğimiz sayılar olacak. For döngüsü kullanarak bu sayıların ayrı ayrı asal olup olmadığını kontrol ediyoruz ve ekranda gösteriyoruz. Ayrıca “sayac” isimli bir değişken tanımlayarak asal sayıların kaç adet olduğunu tutuyoruz. Kodlarımız aşağıdaki gibi olacaktır.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

static void Main(string[] args)
{
int sayac = 0;
Console.Write("1. Sayı : ");//www.yazilimkodlama.com
int s1 = Convert.ToInt32(Console.ReadLine());
Console.Write("2. Sayı : ");
int s2 = Convert.ToInt32(Console.ReadLine());
if (s1 == 1) //1 Asal Sayı olarak listelenmemesi için
s1++;
Console.WriteLine();
for (int sayi = s1; sayi <=s2; sayi++)
{
int kontrol = 0;

for (int i = 2; i < sayi; i++)
{
if (sayi % i == 0) //www.yazilimkodlama.com
{
kontrol = 1;
break;
}
}
if (kontrol == 1)
{
Console.WriteLine("{0} asal değidir",sayi);
}
else
{
Console.WriteLine("{0} asaldır.",sayi);
sayac++; //www.yazilimkodlama.com
}

}
Console.WriteLine("Girdiğiniz sayılar arasında toplam {0} adet asal sayı var.",sayac);
Console.ReadKey();
Şimdi projemizi çalıştırıp deneme amaçlı değerler girelim. Ekran görüntüsü aşağıdaki gibi olacaktır.

iki_sayi_arasi_asal



Şimdi de örneğimizi C# Windows Form uygulaması kullanarak oluşturalım.

Örneğimizde kullanıcıdan sayıları textBox kontrollerine girmesini isteyerek sayılar girilip Button tıklandığında iki sayı arasındaki asal sayıların ListBox içinde listelenmesini gerçekleştireceğiz.

Ayrıca Label kontrolünde asal sayı adetini göstereceğiz.

Form Tasarımı ve Ekran Çıktısı:

Aşağıdaki Form tasarımında Label1 ve Label2 İlk Sayı ve Son Sayı metni için,

Label3 ise toplam asal sayı adeti için kullanılmıştır.

ListBox1 asal sayı listesi,

Button1 kodlarımızı yazacağımız bölüm,

textBox1 ve textBox2 kullanıcının sayı girişi için kullanacağı kontrollerdir.

csharp-iki-sayi-asal-sayi-1.jpg




C# Kodları:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace AsalSayılar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

//www.yazilimkodlama.com
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();

int ilksayi, sonsayi;
ilksayi = Convert.ToInt32(textBox1.Text);
sonsayi = Convert.ToInt32(textBox2.Text);

int sayi = ilksayi;
bool durum = true;
while (sayi < sonsayi)
{
sayi++;
for (int i = 2; i < sayi; i++)
{
if (sayi % i == 0)
{
durum = false;
}
}
if (durum == true && sayi != 1)
{
listBox1.Items.Add(sayi.ToString());
}
durum = true;
}

//www.yazilimkodlama.com
label3.Text = "İki Sayı Arasında " + listBox1.Items.Count.ToString() +" Tane Asal Sayı Var";
}
}
}
 
Üst