C语言编程,从3开始,求出最小的10个素数,并保存到数组中

Python020

C语言编程,从3开始,求出最小的10个素数,并保存到数组中,第1张

代码如下:

#include<stdio.h>

int main() {

int num[10] = { 2 }, idx = 1

for (int i = 3 idx != 10 i++) {

int flag = 1

for (int j = 0 j*j <= i && j < idx j++) {

if (i%num[j] == 0) {

flag = 0

break

}

}

if (flag) num[idx++] = i

}

for (int i = 0 i < 10 i++)

printf("%d ", num[i])

printf("\n")

}

#include <stdio.h>int fun(int t) //检查a[i]是否为素数{ int iif(t<=1) //两种特殊情况 return 0if(t==2)return 1for(i=2i<t/2+1i++) { if(t%i==0) //若能被整除,则返回0 return 0} if(i>=t/2) //若不能整除,则返回1 return 1}void main(){ int i=0,j=0,a[]={23,38,49,36,31,61,45,28},b[10]={0}while(a[i]) { if(fun(a[i])) //若返回1,则将其复制到数组b[]中 b[j++]=a[i] i++} for(j=0b[j]j++) //输出数组b printf("%4d",b[j])}

100当中有50个偶数,除了2外其他的都一定不是素数,于是100以内的素数应该少于50个,我们就以a[50]来存放这些素数吧.还有1不是素数。

main()

{

int a[50]

int i=5,j=3,m=1

a[0]=2a[1]=3

for(i=5i<100i=i+2)

loop1: for(j=3j<ij++)

loop2:

if(i%j==0)

{i=i+2goto loop1}

else

{if(j==i-1)

a[++m]=i

else

{j++goto loop2}

}

/*来验证一下是否正确*/

printf("%d\n",m)/*看看有多少个素数*/

for(i=0i<=mi++)

printf("%d\t",a[i])

}