码迷,mamicode.com
首页 > 其他好文 > 详细

吉比特_笔试_区间内素数个数

时间:2017-08-27 15:26:17      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:个数   []   new   笔试   string   oid   描述   prim   sys   

import java.util.Scanner;
/**
	输入M、N,1 < M < N < 1000000,求区间[M,N]内的所有素数的个数。素数定义:除了1以外,只能被1和自己整除的自然数称为素数 
	输入描述:
	两个整数M,N
	输出描述:
	区间内素数的个数
	示例1
	输入
	2 10
	输出
	4
 * @author zhaoz
 *
 */
public class getMtoNPrime {
	public static void getPrimeCount(int m, int n) {
		int count = 0;
		if(m > 2) {    //从2 开始则个数先加1
			count = 0;
		} else {
			count = 1;
		}
		boolean[] temp  = new boolean[n+1];
		for(int i = m; i <= n; i++) {  //除2以外的偶数都被筛选掉
			if(i % 2 == 0) temp[i] = false;
			else temp[i] = true;
		}
		for(int j = 3; j*j <= n; j += 2) {  // 筛选掉3,5,7,9的倍数
			if(temp[j]) {
				for(int k = j + j; k <= n; k += j) {
					temp[k] = false;
				}
			}
		}
		for(int i = m; i <= n; i++) {
			if(temp[i]) count++;
		}
		System.out.println(count);
	}
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int m = in.nextInt();
		int n = in.nextInt();
		getPrimeCount(m, n);
	}
}

  

吉比特_笔试_区间内素数个数

标签:个数   []   new   笔试   string   oid   描述   prim   sys   

原文地址:http://www.cnblogs.com/zzsaf/p/7440356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!