বৃহস্পতিবার, ৫ এপ্রিল, ২০১২

Prime Number genrator

public class PrimeNo {

public PrimeNo() {
int givenNo = 9234563;

boolean isPrime = checkPrimeNumber(givenNo);

boolean isPrimeEfficient = getPrimeNumber(givenNo, getDivisorsArray(givenNo));

System.out.println(isPrime);
System.out.println("efficient");
System.out.println(isPrimeEfficient);

}



private boolean getPrimeNumber(int givenNo, int[] divisorsArray) {
if (givenNo == 2) return true;
if (givenNo > 2 && givenNo % 2 != 0) {
if (divisorsArray.length != 0) {
for (int j = 3; j <= divisorsArray.length; j++) {
if (givenNo % j == 0) {
return false;
}
}
}
return true;
}
return false;
}

public static void main(String arg[]) {
new PrimeNo();
}

private int[] getDivisorsArray(int givenNo) {

int sqrt = (int) Math.sqrt(givenNo);
int[] tempArray = new int[sqrt];
int count = 0;
for (int i = 3; i < sqrt; i++) {
if (checkPrimeNumber(i)) {
tempArray[count++] = i;
}
}

return tempArray;
}

private boolean checkPrimeNumber(int i) {
if (i == 2) return true;
if (i > 1 && i % 2 != 0) {
for (int j = 3; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
return false;
}
}
return true;
}
return false;
}
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন