public class PrimeNumbers {
public static void main(String[] args) {
{// Method 1:
System.out.println("Method 1");
//boolean isFlag = true;
for (int i = 2; i <= 100; i++) {
int number = 0;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
number++;
}
}
if (number == 0) {
System.out.println("i = " + i);
}
}
}
{//Method 2:
System.out.println("Method 2");
for (int i = 2; i <= 100; i++) {
boolean isFlag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag) {
System.out.println("i = " + i);
}
}
}
{//Method 3:
System.out.println("Method 3");
long start = System.currentTimeMillis();
int count = 0;
boolean isFlag = true;
for (int i = 2; i <= 100000; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
}
}
if (isFlag) {
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("Total of PrimeNumbers:" + count);//9592
long druation = end - start;
System.out.println("Druation :" + druation);//4195ms
}
{//Method 4:
System.out.println("Method 4");
long start = System.currentTimeMillis();
int count = 0;
boolean isFlag = true;
for (int i = 2; i <= 100000; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
break;//here is a key, if is not PrimeNumber
}
}
if (isFlag) {
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("Total of PrimeNumbers:" + count);//9592
long druation = end - start;
System.out.println("Druation :" + druation);//349ms
}
{//Method 5:
System.out.println("Method 5");
long start = System.currentTimeMillis();
int count = 0;
boolean isFlag = true;
for (int i = 2; i <= 100000; i++) {
for (int j = 2; j <= i / 2; j++) {//here is the key
if (i % j == 0) {
isFlag = false;
break;//here is a key, if is not PrimeNumber
}
}
if (isFlag) {
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("Total of PrimeNumbers:" + count);//9592
long druation = end - start;
System.out.println("Druation :" + druation);//184ms
}
{//Method 6:
System.out.println("Method 6");
long start = System.currentTimeMillis();
int count = 0;
boolean isFlag = true;
for (int i = 2; i <= 100000; i++) {
for (int j = 2; j <= Math.sqrt(i); j++) {//here is the key
if (i % j == 0) {
isFlag = false;
break;//here is a key, if is not PrimeNumber
}
}
if (isFlag) {
count++;
}
isFlag = true;
}
long end = System.currentTimeMillis();
System.out.println("Total of PrimeNumbers:" + count);//9592
long druation = end - start;
System.out.println("Druation :" + druation);//5ms
}
}
}