前不久刚刚学会打素数表。
素数表就是提前把素数算好放在数组里,使用的时候直接拿出来就好了。
下面是例题
How many prime numbers |
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 10496 Accepted Submission(s): 3431 |
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 |
如果用最原始的方法,一个一个慢慢判断是否为素数,那么很有可能超时的。
这里就要打表了。
下面是此题ac代码
#include<stdio.h>
int main()
{
__int64 zu,i,x,j,flags;
while((scanf("%I64d",&zu))!=EOF){
i=0;
while(zu--){
flags=0;
scanf("%I64d",&x);
for(j=2;j*j<=x;j++){
if((x%j)==0){
flags=1;
break;
}
}
if(flags==0)
i++;
}
printf("%I64d\n",i);
}
}
没错!!!这题不打表也能AC!!!!!!!!!!!!!!!!!!!!!
表打我,,我另一篇文章里会讲打表的