当前位置: 代码迷 >> 综合 >> 1013 数素数
  详细解决方案

1013 数素数

热度:74   发布时间:2023-12-13 23:46:48.0

错误点:1.是第m个和第n个素数而不是数

              2.数组范围的大小

#include<stdio.h>
#include<math.h>int main()
{int m,n,j,cnt=1,sushu[200000];scanf("%d %d",&m,&n);for(int i=2;i<=200000;i++){for(j=2; j<=sqrt(i); j++){if(i%j==0) break;}if(j>sqrt(i)) sushu[cnt++]=i;}for(int i=m; i<=n; i++){printf("%d",sushu[i]);if((i-m+1)%10==0) {printf("\n");}else if(i!=n) printf(" ");}return 0; 
}

贴一贴

#include<stdio.h>
#include<stdbool.h>
#include<math.h>bool is_sushu(int n);//判断是不是素数int main()
{int a[10000]={0},count=0,k=1;int M=0,N=0;scanf("%d%d",&M,&N);do{k++;if(is_sushu(k)) a[count++]=k;}while(count<N);//记录前N个素数count=0;//输出第M-(N-1)个素数,最后一个因为不要空格所以单独输出for(int i=M-1;i<=N-2;i++){count++;if(count<=9) printf("%d ",a[i]);else{printf("%d\n",a[i]);count=0;}}printf("%d",a[N-1]);
}bool is_sushu(int n)
{for(int i=2;i<=sqrt(n);i++){if(n%i==0)return false;}return true;
}
————————————————
版权声明:本文为CSDN博主「XITMan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/XITMan/article/details/104015951