//判断一个数,是不是素数
inta=0;
printf("请输入一个数:");//输出
BOOLisTrue=YES;//标识位,用来表示状态.
scanf("%d",&a);//输入
for(inti=2;i<a;i++){
if(a%i==0){
isTrue=NO;
}
}
if(isTrue==YES){
printf("这是一个素数");
}else{
printf("这不是一个素数");
}//第..
分类:
其他好文 时间:
2014-08-11 10:19:52
阅读次数:
259
HDU 4910 Problem about GCD
题目链接
题意:给定一个数字,求出1 - n之间与他互质的数的乘积mod n
思路:看了网上别人找出来的规律,原文链接
然后由于这题的n很大,也没法直接判定,可以这样搞,先去试10^6以内的素数,判断可不可以,如果不行,再利用米勒拉宾判下是否是素数,如果不是的话,把这个数字开根在平方,判断是不是完全平方数,这样做的原因是数字...
分类:
其他好文 时间:
2014-08-04 02:03:46
阅读次数:
273
http://blog.csdn.net/shiyuankongbu/article/details/9202373发现自己原来的那份模板是有问题的,而且竟然找不出是哪里的问题,所以就用了上面的链接上的一份代码,下面只是寄存一下这份代码,以后打印出来当模板好了。#pragma warning(dis...
分类:
其他好文 时间:
2014-07-28 23:36:34
阅读次数:
250
令Pi表示第i个素数。现任给两个正整数M int sushu(int n){//素数判断 int k; if(n==2) return 1; if(n%2==0) return 0; for(k=3;k*k=a && count <=b){//输出处理环节 add++; ...
分类:
其他好文 时间:
2014-07-22 08:01:36
阅读次数:
139
1 常规判定方法
素数判定问题就是对给定的正整数n判定是否为素数。所谓素数,是指恰好有2个约数的整数。因为n的约数都不超过n,所以只需要检查2~n-1的所有整数是否整除n就能判定是不是素数。不过,我们还能进一步优化。如果d是n的约数,那么n/d也是n的约数。由n=d*n/d可知min(d,n/d),所以只需要检查2~的所有整数就足够了。此时,素数判定的复杂度为O()。代码实现如下:...
分类:
其他好文 时间:
2014-07-08 16:00:24
阅读次数:
309
题目链接:uva 10539 - Almost Prime Numbers
题目大意:给出范围low~high,问说在这个范围内有多少个数满足n=pb,(p为素数).
解题思路:首先处理出1e6以内的素数,然后对于每个范围,用solve(high)?solve(low?1),solve(n)用来处理小于n的满足要求的数的个数。枚举素数,判断即可。
#include
#include...
分类:
其他好文 时间:
2014-07-03 16:50:09
阅读次数:
190