mulgear6 Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 public class Loop { public static boolean isPrimeFor(int zahl) { for (int i=2; i <= zahl; i++) { if (zahl % i == 0 ) { return false; } } if (zahl <= 1) { return false; } else { return true; } } public static void main(String args[]) { for (int i=0 ; i <=100; i++) { System.out.println(i+ ": " + isPrimeFor(i)); } } } edit: o kısmını hallettim ama bu sefer de hepsine false diyo :(
Deacon Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 Berk sen en bastan basla java calismaya. Bastan assa yanlis :/
Deacon Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 1- Main fonksiyonunu isprime fonksiyonunun icinden cikar 2- Isprime'i tanimladigin linedaki noktali virgulu sil 3- Once sayi 1'den kucuk esit mi diye bak, degilse donguye gir 4- Donguyu sayinin karekokune kadar yapman yeterli
Deacon Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 Hepsine false diyo cunku for dongun <=zahl seklinde. Sayi asal bile olsa zahl%zahl == 0 oldugu icin false dondurucek.
mulgear6 Mesaj tarihi: Kasım 17, 2011 Konuyu açan Mesaj tarihi: Kasım 17, 2011 public class Loop { public static boolean isPrimeFor(int zahl) { for (int i=2; i <= Math.sqrt(zahl); i++) { if (zahl % i == 0 ) { return false; } } if (zahl <= 1) { return false; } else { return true; } } public static void main(String[] args) { for (int i=0 ; i <=100; i++) { System.out.println(i+ ": " + isPrimeFor(i)); } } } okito koydum çocugu bi tek kök kısmını almamışım da neden o kök şeysi olmak zorunda onu anlamadım
Deacon Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 Indententation'i duzgun yapmayi ogren bak cok cekersin :/ Allman style favorim benim. Kok olayi matematiksel. Zorunlu degil, daha az islem yapmak icin. Link burda: http://en.wikipedia.org/wiki/Primality_test#Naive_methods Bi de dedigim gibi isprime fonksiyonunda donguye girmeden once sayi<=1 diye bi kontrol et. Mesela sqrt fonksiyonuna negatif sayi gonderme ihtimalin var su an. Nasil davraniyor ben de bilmiorm api'ye bakman lazim :p edit: Kok olayina link attim.
mulgear6 Mesaj tarihi: Kasım 17, 2011 Konuyu açan Mesaj tarihi: Kasım 17, 2011 çok saol sabah bi bakarım ona kafam gitti şu an bi de şunu sadece doğru oldugu zaman yazdırmak istersem if (isPrimeFor() = true) { for bla bla } şeklinde tıktıgımda olmuyo heralde onu boolean olarak alamadı () arasında int i int zahl sadece i filan denedim ama olmadı parantezsiz de yaptım o da olmadı naapmak gerek ona bi de ?
Deacon Mesaj tarihi: Kasım 17, 2011 Mesaj tarihi: Kasım 17, 2011 Abi bak main'in icindeki for'da her sayiyi kontrol ediosun fonksiyon yardimiyla zaten. Dongunun icinde isprime fonksiyonunun dondurdugu degeri kontrol edip true ise yazdir diceksin.
Öne çıkan mesajlar