Anasayfa / Bilgisayar Mühendisliği / Java Asal Sayı Kontrol Programı – En Kısa Şekliyle

Java Asal Sayı Kontrol Programı – En Kısa Şekliyle

Defalarca kez bir sayının asal olup olmadığını bulmuşuzdur. Fakat bunu en kısa haliyle oluşturmak istedim. Sanırım bundan kısası da olamaz.

package methods;

public class AsalSayi {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean durum = sayiAsalMi(99);
		
		if(durum){
			System.out.println("Asaldır");
		}else{
			System.out.println("Asal değildir");
		}
		

	}
	private static boolean sayiAsalMi(int x) {
		
		double kok = Math.sqrt(x);
		for (int i = 2; i <= kok; i++) {//bir sayının köküne kadar bölümünü denersek o sayının asal olup olmadığını anlarız.
			if(x%i == 0){// mod işlemi yapar. sayı tam bölündüğü an return false komutuna iner
				return false;//sayı bölündüğü an asal değildir. Bu yüzden false değeri dönülmesi gerekmektedir.
			}
		}
		return true;// false seçeneğine girmediği sürece son adım olarak true ya geldiğinde sayının asal olduğu anlaşılır.
	}

}

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

Regex Nedir? Nasıl Kullanılır?

Regex(Regular Expression) yani düzenli ifadeler, metinlerde aranan bir tümceyi kolayca bulmamızı sağlayan bir çeşit algoritmadır. Yani …

2 Yorumlar

  1. perl

    buraya en kısa diye başlık atmışsın ama yazdığın program oldukça yavaş, en basitinden metot içindeki for ‘u tek sayidan başlatıp ikişer ikişer attırmak bile (çünkü çift sayılar asal değildir) yazdığın metodun yaklaşık iki katı hızlanmasını sağlayabilir.

    • for u tek sayıdan başlatmaktan kastınız eğer 3 ise, tamam başlatalım. sayı 2 ye bölünürse ne olacak? bunun kontrolü sağlanmıyor. 2 den başlatmak zorunludur.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir