using system;
namespace asalsayibulma {
class program {
static void main (String args[])
{
int girilen=0;
do
{
// Kullanıcıdan bir sayi JOptionPanel kullanarak bir sayi aliyoruz
Console.WriteLine("Asalligini Kontrol Etmek İstedigini Sayiyi Girin :
");
String sayi=Console.ReadLine()
Asalmi=İnt32.Parse(sayi);
}while(girilen!=-1); // Kullanıcı -1 girmediği sürece.
}
// Asalmi() isimli fonksiyon parametre olarak bir integer alir.
static void Asalmi(int sayi)
{
int i ;
int sayac=0;
if(sayi==2) // Eger gelen sayi 2 ise zaten asaldır.
Console.WriteLine(sayi + " Sayisi Asaldir");
else
{ // 2 den farklı değerler içinse su algoritmayı kullanacagız.
/** Eğer bir sayi asalsa bir kendisine birde 1 e bolunebilir demektir
yani toplm bolen sayısı 2 den fazla olamaz. Yani biz diyebiliriz ki bir
sayinin
iki boleni varsa bu sayı asaldır daha fazla ise bu sayı asal değildir
**/
for(i=1; i<=sayi; i++)
// i değerini 1 baslattık cunku 0 dan baslatırsak sıfıra bolme hatası
alırız.
{
if(sayi%i==0)
// gelen sayi su anki i değerine tam bolunebiliyorsa Sayacı bir arttır.
// burada i gelen sayiya gore değer alir , kullanıcı 5 gonderdi diyelim
// i değerleri sırasıyla 1,2,3,4,5 olacaktır.
// 5 sayisinin bunlardan kacının tam boldugu kontrol edilcektir.
// 5 sayisini tam bolen 1 ve 5 vardır. Bu durumlarda sayac artacaktır.
// için sayac=2 olacak ve sayımızın asal oldugu ortaya cıkacaktır.
sayac++;
}
if (sayac==2)
Console.WriteLine(sayi + " Sayisi Asaldir");
else
Console.WriteLine(sayi + " Sayisi Asal Degildir");
Console.ReadLine;
}
}
}