hdu2138 How many prime numbers 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2138
基础数学
题目大意:输入正整数n,然后输入n个数。对这些数的限制里有这么一句Each integer won’t exceed 32-bit signed integer意思是这些数有符号且不超32位。其数值表达范围为:0 ~ 4294967295数据范围不小,打表会T.L.E,所以反过头来用最原始的办法----找有无因数。
以下是代码:
#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;
}
PS:开始总想着打表,费了点时间……