#include <iostream>
using namespace std;
//Girilen sayı asal mı değil mi bulan program
int main(int argc, char** argv) {
setlocale(LC_ALL,"Turkish");
int n,adet=0;
cout<<"Sayı giriniz ."<<endl;
cout<<"=> ";
cin>>n;
for(int i=1;i<=n;i++)
{
if(n%i==0 )
{
adet++;
}
}
if (adet == 2 )
cout<<"Sayınız asal sayıdır."<<endl;
else
cout<<"Sayınız asal sayı değildir."<<endl;
system("PAUSE");
return 0;
}
Kodum bu şekilde. Yarın dersimizin sınavı var ve ben internette yapılanları gördüğümde çok basit yapmış gibi hissediyorum.
Kodum doğru bir şekilde çalışıyor aslında, deniyorum ve bir hata ile karşılaşmadım tabii birkaç eksiği var ama daha çok görsel eksik. Bunlar işte negatif sayılar girilemez vb.
Sorum şu, bu kod doğru mudur? Sonuçta asal sayılar sadece 1 ve kendisine bölünebilen sayılar ve bu da 2 tane sayı demektir. Sadece 2 sayıya tam bölünebilenler asal sayıdır demek çok da yanlış olmuyor bu programda.
Optimize değil. 2 kez bölünmesini kontrol etmek yerine 1 veya kendisi dışında bir sayıya bölündüğünde döngüyü kırıp sayının asal olup olmadığını yazdırmanız daha mantıklı.