为什么大数的时候就会运行超时?
我这样写感觉没问题啊?为什么无法通过所有样例测试?数据大的时候就超时?
#include <stdio.h>
int zhishu(int a) //先定义一个判断质数函数
{
if(a<=1) return 0;
else for(int j=2;j<=a/2;j++)
{
if(a%j==0) return 0;
}
return 1;
} //返回值为0则不是质数,为1则是质数
int main()
{
int t,n,i;
int count=0;
scanf("%d\n",&t);
while(~scanf("%d\n",&n))
{
for(i=1;i<=n;i++)
{
int j=zhishu(i);//通过调用函数判断是否为质数
if(j==1) count++;//函数值1代表是质数,计数+1
}
printf("%d\n",count);//输出计数量
}
return 0;
}