为什么大数的时候就会运行超时?

我这样写感觉没问题啊?为什么无法通过所有样例测试?数据大的时候就超时?

#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;

}

全部评论

相关推荐

11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务