Java Math Exercises: подсчитать количество простых чисел меньше заданного положительного числа
Java Math Exercises: Упражнение 12 с решением
Напишите Java-программу для подсчета числа простых чисел меньше заданного положительного числа.
Пример решения :
Java-код:
import java.util.*;
public class Example12 {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Input an integer: ");
int x = in.nextInt();
System.out.print("The number of prime numbers: "+countPrimes(x));
System.out.printf("\n");
}
public static int countPrimes(int n)
{
if(n <= 0 || n == 1 || n == 2)
return 0;
else if(n == 3)
return 1;
BitSet set = new BitSet();
n = n - 1;
int s = (int)Math.sqrt(n);
int ctr = n;
for(int p = 2; p <= s; p ++)
{
if(!set.get(p))
{
for(int q = 2; (p * q) <= n; q ++)
{
if(!set.get(p * q))
{
ctr --;
set.set(p * q);
}
}
}
}
return ctr - 1;
}
}
Пример вывода:
Введите целое число: 25 Количество простых чисел: 9
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code