PAT 乙级 1013 PAT Ranking 个人错误总结

    技术2022-07-11  73

    这个题写的贼烂,虽然ac了,但是代码特别乱。 处理问题: 1输入0 0时输出一个回车 2输入1 10时末尾只输出一个回车 3输入1 5时末尾输出一个回车 4输入1 10000时保证程序能够输出足够多的素数,注意审题,经常题目中的数字限定和你想的有些区别。。 ac代码:

    #include<stdio.h> #include<algorithm> #include<string.h> #include<math.h> using namespace std; bool a[105000]={false}; int main() { int n=0; int left,right; int flag=0; int z=0; scanf("%d %d",&left,&right); for(int i=2;i<=105000&&n<right;i++) { if(a[i]==false) { int j=1; n++; while(j*i<105000) { a[i*j]=true; j++; } if(n>=left) { printf("%d",i); flag++; z=1; if(flag==10) { flag=0; printf("\n"); } else if(n!=right) { printf(" "); } } } } if(flag!=0||z==0) { printf("\n"); } return 0; }
    Processed: 0.011, SQL: 9