Başka bir forumda da yazmıştım aynı mesajı buraya da yazıyorum;

While'ı for a çevirirken yapilari az da olsa farkli oldugu icin ufak bir kafa karisikligi yaşamışım, konuyu açtıktan kısa bir süre sonra hatanın neden olduğunu farkettim.


for (a = 1; a < num - 1;a++)
{

if (num % a == 0)
{
flag = 1;
break;
}

}
bu sekilde a=1 olarak döngüye giriyor, for içerisinde işlemleri gerçekleştirdikten sonra a yı 1 arttıyor ve doğal olarak not prime mesajı printliyor.

for(a = 1; a < num - 1;){

a++;
}
[/quote]
olarak yazarsak a=1 di, islemlere baslamadan hemen once a yi 2 yapip oyle if e giriyor.


Veya While dan for a çevirirken a=2 olarak yapsaydim yine dogru calisacakmis:

for (a = 2; a < num - 1;a++)
{

if (num % a == 0)
{
flag = 1;
break;
}

Mesaj ve konu dursun olur da benzer bir soru işareti olan arkadaşlar faydalanır.

Yine de cevap veren arkadaşlara teşekkürler.