有哪位大神能帮我简化一下我这个代码吗?总是运行超时了

#include<stdio.h>
int main()
{
    int n,i,j,k,sum,count;
    scanf("%d",&n);
    int a[n];
    for(i=0;i<n;i++)
    scanf("%d",&a[i]);
    for(i=0;i<n;i++){
        sum=0;
        for(j=1;j<=a[i];j++){
            count=0;
            for(k=2;k*k<=j;k++){
                if(j%k==0){
                    count++;
                    break;
                }
            }
            if(count==0&&j!=1){
                sum++;
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}
全部评论
好兄弟至少要把题目也贴出来呀😂
点赞 回复
分享
发布于 2021-03-09 22:57
T<1e8组,对于每个n,只允许O(1)查询,可以打表预处理
点赞 回复
分享
发布于 2021-03-10 13:58
滴滴
校招火热招聘中
官网直投
..不对,牛客的链接怎么对应不同的代码去了,我源代码是这样的
点赞 回复
分享
发布于 2021-03-10 14:06
这题的数据量告诉你,只能用素数筛了
点赞 回复
分享
发布于 2023-03-11 21:17 美国

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务