`
lgh1992314
  • 浏览: 315590 次
文章分类
社区版块
存档分类
最新评论

hdoj_2138How many prime numbers

 
阅读更多

How many prime numbers

Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 7324Accepted Submission(s): 2446


Problem Description
Give you a lot of positive integers, just to find out how many prime numbers there are.

Input
There are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of them won’t be less than 2.

Output
For each case, print the number of prime numbers you have found out.

Sample Input
3 2 3 4

Sample Output
2
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

typedef long long ll;

ll exp_mod(ll a,ll b,ll mod)
{
	ll res = 1;
	while(b){
		if(b & 1) res = (res * a) % mod;
		a = (a * a) % mod;
		b >>= 1;
	}
	return res;
}

bool Miller_Rabbin(ll n)
{
	ll a,s = (n-1) >> 2,i = 1, t = n-1;
	s = min(s,(ll)50);
	do{
		a = rand() % (t) + 1;
		if(exp_mod(a,t,n) != 1) return false;
	}while(i++ < s);
	return true;
}

int main()
{
	int n,ans;
	ll num;
	while(scanf("%d",&n)!=EOF)
	{
		ans = 0;
		for(int i = 0;i < n;i++)
		{
			scanf("%I64d",&num);
			if(Miller_Rabbin(num))
				ans++;
		}
		printf("%d\n",ans);
	}
	return 0;
}


分享到:
评论

相关推荐

    hdoj.rar_Dividing HDOJ_OJ 1082_hdoj 10_杭电oj_杭电oj1000

    【标题】"hdoj.rar_Dividing HDOJ_OJ 1082_hdoj 10_杭电oj_杭电oj1000" 涉及的知识点主要围绕着“杭电在线判题系统(HDOJ)”以及其中的题目1082和10系列题目。HDOJ是杭州电子科技大学主办的一个在线编程竞赛平台,...

    hdoj.rar_HDOJ _OJ_oj_如何卡oj

    【标题】"hdoj.rar_HDOJ _OJ_oj_如何卡oj" 提供的信息主要涉及到两个关键概念:HDOJ(杭州电子科技大学在线评测系统)和OJ(Online Judge),以及“如何卡oj”的技巧。首先,让我们详细了解这两个核心概念。 OJ(On...

    HDOJ.zip_HDOJ _Mine!_algorithm_stepped8pp

    标题中的“HDOJ.zip_HDOJ _Mine!_algorithm_stepped8pp”指的是一个压缩文件,其中包含的主要是与“HDOJ”(Happy Dog Online Judge)平台相关的代码,特别是作者自己的解决算法。"Mine!"可能表示这些代码是个人的...

    OJ.tar.gz_HDOJ _OJ源码_oj

    【OJ.tar.gz_HDOJ _OJ源码_oj】是一个包含编程竞赛平台HDOJ(Happy Ding Octopus Judge)部分源代码的压缩文件。这个压缩包的主要目的是供学习和研究使用,尤其是针对50至60题目的解题算法和系统实现。通过分析这些...

    hdu4405_HDOJ_ACM_

    【标题】"hdu4405_HDOJ_ACM_" 指的是在杭州电子科技大学(HDU)的在线判题系统(Online Judge,简称OJ)上的一道编程竞赛题目,它属于HDOJ ACM系列。这个系列通常与国际大学生程序设计竞赛(ACM/ICPC)相关,这类...

    HDOJ_1480 钥匙计数之二 解题报告.mht

    HDOJ_1480 钥匙计数之二 解题报告.mhtHDOJ_1480 钥匙计数之二 解题报告.mht

    HDOJ_1010 Tempter of the Bone

    【HDOJ_1010 诱惑者的骨头】是一道经典的图论问题,主要考察的是在特定时间约束下寻找图中的路径。题目要求我们判断在一个给定的环境中是否存在一条从入口到出口的可行路径。这涉及到图的遍历算法,如深度优先搜索...

    HDOJ_my_answer

    【标题】"HDOJ_my_answer" 指的可能是你在参与某次编程挑战或学习过程中,为解决High-Dimensional Online Judge(HDOJ)上的问题而编写的个人解答集。这个压缩包很可能是你存储自己对HDOJ题目答案的一个项目文件,...

    HDOJ.rar_HD_HDOJ

    【标题】"HDOJ.rar_HD_HDOJ" 是一个与HDU(杭州电子科技大学)在线判题系统HDOJ相关的压缩包文件,其中包含了大量编程题目的源代码。 【描述】提到,这个压缩包包含了几百道HDOJ题目的源代码,这意味着它是一个宝贵...

    How_to_Use_HDOJ

    搞acm的没有谁不知道杭电题库,但是杭电上的OJ到底该怎么用,对于某些初学者确实一个难题,所以How_to_Use_HDOJ.rar应运而生

    HDU.rar_hdoj 2000 2999 chm_hdoj 2000-2099_hdu_hdu acm 20_杭电ACM

    “HDOJ”通常指的是杭电的在线判题系统,是众多ACMer进行算法训练和比赛的重要平台。在这个平台上,题目编号通常从1000开始,按照顺序递增。本压缩包聚焦于2000到2099的题目,这些题目涵盖了基础到进阶的各种算法...

    杭电acm 实习课件

    首先,课件中提到了一个非常基础的题目——HDOJ_1089,这是一个简单的加法问题。初学者常见的错误写法是只考虑了两个数的输入和输出,忽略了可能存在的多组数据。正确的处理方式是使用循环结构,例如C语言中的`while...

    HDOJ题目分类 HDOJ题目分类

    【标题】:“HDOJ题目分类 HDOJ题目分类” HDOJ,全称为Happy DingO Online Judge,是一个在线编程竞赛平台,它为参赛者提供了大量编程题目进行练习和比赛,旨在提升编程技能和算法理解。HDOJ的题目分类是帮助用户...

    (lecture_02)简单数学题

    **位运算优化**:如HDOJ_1061题,对于求解大数的末尾几位,可以利用位运算的性质进行优化,避免直接计算大数乘法导致的时间复杂度过高。\n\n4. **指数模运算**:在HDOJ_2035题中,要求求解A的B次方最后三位数。可以...

    acm课件2 简单数学题

    HDOJ_1108题给出了这样的例子,要求计算两个数的LCM。通常,我们可以通过先计算最大公约数(GCD)再利用公式`LCM = 数1 * 数2 / GCD`来求解。课件中提到了欧几里得算法来计算GCD,它基于两个数相除的余数不断迭代,...

    (lecture_02)简单数学题090223.ppt

    HDOJ_1108题目的目标是计算两个正整数的最小公倍数(LCM)。求解最小公倍数通常可以通过先计算它们的最大公约数(GCD)来实现,因为两个数的乘积除以它们的最大公约数即为最小公倍数。PPT中提到了欧几里得算法...

    HDOJ.zip_hduoj100题

    【HDOJ.zip_hduoj100题】是一个压缩包文件,包含了HDUOJ(杭州电子科技大学在线评测系统)的约100道编程练习题目及其源代码。这个资源对于想要提升编程技能,尤其是对算法和数据结构有深入学习需求的程序员来说,是...

    HDOJ1002

    ACM ICPC HDOJ1002

    HDOJ1001

    ACM ICPC HDOJ1001

    hdoj1001标程

    hdoj1001标程

Global site tag (gtag.js) - Google Analytics