给出一个闭区间的两端l和r,输出[l,r]中素数的个数。
输入格式:
两个整数l和r,之间用空格隔开(1<l<=r<=10000)。
输出格式:
输出一个结果。
输入样例:
2 10
输出样例:
4
import java.util.Scanner;public class Main {static final int N = 10005;static int m,n;static int[] prime = new int[N];static boolean[] check = new boolean[N];static void init(){int temp;check[1]=true;for(int i=2;i<=n;++i){if(!check[i])prime[++prime[0]]=i;for(int j=1;j<=prime[0];++j){temp=i*prime[j];if(temp>n)break;check[temp]=true;if(i%prime[j]==0)break;}}}public static void main(String[] args){Scanner scanner = new Scanner(System.in);m=scanner.nextInt();n=scanner.nextInt();init();int count=0;for(int i=m;i<=n;++i){if(!check[i])count++;}System.out.println(count);}}