private static int nextPrime(int number)
{
while (!isPrime(number++));
return --number;
}
Girilen bir sayıdan sonraki asal sayısı nasıl bulunur? Örneğin kullanıcı 44 sayısını girdiğinde 47 sayısı nasıl yazdırılır?
Tehlikeli bir bug var burada, ++ operatoru incerement edilmemis degeri return eder.44'den başlayarak ileriye doğru bir döngü başlatıp ilk asal olarak kabul edilen sayıyı return edersiniz.
Java:private static int nextPrime(int number) { while (!isPrime(number++)); return --number; }
isPrime'ı yazmak da size kalsın
int i = 10;
System.out.println(i); // 10
System.out.println(i++); // 10
System.out.println(i); // 11
Bazi insanlar bu durumun onune gecmek için "++num" seklinde kullansa da ben parametre olarak hiç kullanmam.
private static int nextPrime(int number)
{
while (!isPrime(++number));
return number;
}
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.