您的位置:首页 > 其它

HDU2138--How many prime numbers

2016-06-29 17:40 281 查看


How many prime numbers

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 15910    Accepted Submission(s): 5505


[align=left]Problem Description[/align]
  Give you a lot of positive integers, just to find out how many prime numbers there are.
 

[align=left]Input[/align]
  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.
 

[align=left]Output[/align]
  For each case, print the number of prime numbers you have found out.
 

[align=left]Sample Input[/align]

3
2 3 4

 

[align=left]Sample Output[/align]

2
思路:题目大意:输入正整数n,然后输入n个数。对这些数的限制里有这么一句Each integer won’t exceed 32-bit signed integer意思是这些数有符号且不超32位。其数值表达范围为:0 ~ 4294967295数据范围不小,打表会超时,所以反过头来用最原始的办法----找有无因数。代码:
#include<stdio.h>
#include<math.h>
int main()
{
int t,n,flag,p,i,j,sum;
while(scanf("%d",&t)!=EOF)
{
sum=0;
for(i=0;i<t;i++)
{
scanf("%d",&n);
flag=1;
for(j=2;j<=sqrt(n);j++)
{
if(n%j==0)
{
flag=0;
break;
}
}
if(flag)sum++;
}
printf("%d\n",sum);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: