给出一系列的数,统计素数的个数

思路:因为数据的范围为2^31-1,先计算出[2,sqrt(2^31-1]之间的素数primes。在判断给出的数num是否是素数时,只需要判断num是否能被primes集合中的数据整除

代码如下:

import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;public class Main implements Runnable{private Scanner cin;private PrintWriter cout;private static final boolean DEBUG = false;private static final int N = 46340;private List<Integer> primes = new ArrayList<>();private List<Integer> nums = new ArrayList<>();private boolean[] vis = new boolean[N];private void preprocess(){for (int i = 2; i < N; i++){if (!vis[i]){primes.add(i);}int size = primes.size();for (int j = 0; j < size && primes.get(j) * i < N; j++){vis[primes.get(j) * i] = true;if (i % primes.get(j) == 0) break;}}}private void init(){try{if (DEBUG){cin = new Scanner(new BufferedReader(new InputStreamReader(new FileInputStream("e:\\program\\idea\\spoj\\spoj.txt"))));}else{cin = new Scanner(new BufferedReader(new InputStreamReader(System.in)));}preprocess();cout = new PrintWriter(System.out);}catch (IOException e){e.printStackTrace();;}}private boolean input(){if (!cin.hasNextInt()) return false;int n = cin.nextInt();nums.clear();for (int i = 0; i < n; i++){int num = cin.nextInt();nums.add(num);}return true;}private void solve(){int ans = 0;for (int i = 0; i < nums.size(); i++){boolean isPrime = true;for (int j = 0; j < primes.size() && nums.get(i) > primes.get(j); j++){if (nums.get(i) % primes.get(j) == 0) {isPrime = false;break;}}if (isPrime) ans++;}cout.println(ans);cout.flush();}public void run() {init();while (input()){solve();}}public static void main(String[] args){new Thread(new Main()).start();}
}

hdu2.1.2 How many prime numbers(计算素数的个数)相关推荐

  1. Sum of Consecutive Prime Numbers POJ - 2739(线性欧拉筛+尺取法)

    题意: 一些正整数可以由一个或多个连续质数的总和表示.给定一个的正整数n,问满足条件的有多少种情况? 题目: Some positive integers can be represented by ...

  2. CF385C Bear and Prime Numbers 数学

    题意翻译 给你一串数列a.对于一个质数p,定义函数f(p)=a数列中能被p整除的数的个数.给出m组询问l,r,询问[l,r]区间内所有素数p的f(p)之和. 题目描述 Recently, the be ...

  3. mac numbers 计算两个日期时间天数 DUR2DAYS

    mac numbers 计算两个日期之间天数的函数 DUR2DAYS =DUR2DAYS($A - $B) +1

  4. 7-24 First 50 Prime Numbers (10 分)

    7-24 First 50 Prime Numbers Your program reads one natural numbers n in, and prints out the sum of t ...

  5. UVA583 UVALive5406 Prime Factors【素数因子+筛选法】

    Webster defines prime as: prime (pr¯im) n. [ME, fr. MF, fem. of prin first, L primus; akin to L prio ...

  6. UVA10200 Prime Time【素数判定】

      Euler is a well-known matematician, and, among many other things, he discovered that the formula n ...

  7. 【CodeForces - 271B 】Prime Matrix (素数,预处理打表,思维)

    题干: You've got an n × m matrix. The matrix consists of integers. In one move, you can apply a single ...

  8. 埃拉托色尼筛选法计算素数个数

    埃拉托色尼筛选法计算素数个数 素数:指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. int main() {int MAXNUM = 1000; // 在这里以1000为例int n ...

  9. 素数:素数判断、找素数、计算素数和、素数求和

    有关素数的基础算法 素数测试 package 素数;import java.util.ArrayList; import java.util.HashMap; import java.util.Map ...

最新文章

  1. 老板的亲戚给我当助手?
  2. linux定时任务_从零开始学Linux运维|41.定时任务crontab
  3. magicbook linux系统换w7,荣耀magicbook怎么安装win7 荣耀magicbook安装win7方法
  4. c++判断字符是否为空格或数字
  5. java 免费cms_开源 免费 java CMS
  6. html语言中%3c%%%3e中语言,[工学]C语言程序设计习题解答.doc
  7. mybatis plus关联查询_Mybatis 和 Hibernate 持久层框架之间的区别是啥?
  8. python代码实现中心化_数据预处理——标准化(附python代码)
  9. Atitit 调用百度语音识别 目录 1. 建立一个音频app项目,获得appid kersec 1 2. 直接使用JAR包步骤如下: 1 2.1. public class baiduAudio
  10. JavaScript引入的三种方式(附实例)
  11. 学堂在线体育与社会作业答案(武汉体育学院)(学堂在线)网课搜题
  12. 各大组织大马默认密码
  13. axure 鼠标样式_Axure菜单导航怎么添加鼠标选中变色的特效?
  14. QQ空间玩吧HTML5游戏引擎使用比例分析
  15. 解决:AWVS(Acunetix)激活频繁失效(仅供学习)
  16. C++ va_list
  17. PTA 天梯赛的善良(20分)[C语言]
  18. conexant hd audio音频驱动
  19. 云原生—Rust编程语言能与C/C++媲美
  20. css border偏移

热门文章

  1. STL:set/multiset用法详解
  2. 关于android Activity生命周期的说明
  3. 图形图像处理_c/c++
  4. .net 导出excel和word
  5. java mvc httpget怎么使用_springMVC正确使用GET POST PUT和DELETE方法,如何传递参数
  6. python和java哪个好学、零基础-老男孩零基础学习|python和java那个更有发展前景?...
  7. python是通用编程语言吗-2020年,编程语言将不再只属于程序员,尤其是这门语言...
  8. python话雷达图-Python 详解雷达图/蛛网图
  9. python3.6安装scrapy-win7安装python3.6.1及scrapy
  10. 如何在python中显示电脑中的图片-python如何在终端里面显示一张图片