C语言,求1500以内的最大五个素数

如题所述

第1个回答  2016-04-28
#define MAX_NUM_OF_PRIME  500
#define MAX_LIMITE_NUMBER 1500
int iPrimeNum[MAX_NUM_OF_PRIME] = { 2 };

int main(int argc, char ** argv){
    int iCnt = 0, i = 0, j = 0, iYes = 1;
    for (i = 2; i < MAX_LIMITE_NUMBER; i++){
        for (j = 0, iYes = 1; iPrimeNum[j] <= i / 2; j++){
            if (i%iPrimeNum[j] == 0) { iYes = 0; break; }
        }
        if (iYes){
            iPrimeNum[iCnt++] = i;
            //printf("%8d", i);//输出素数
        }
    }
    //输出最后5个素数
    for (i = 1; i <= 5; i++)
        printf("%8d", iPrimeNum[iCnt - i]);
    getchar();
}

第2个回答  2016-04-28
#include<stdio.h>
#include<math.h>
int main(void)
{
int i,j,k,n=0,sum=0;
for(i=1500;n<5;i--)
{ k=sqrt(i+1);
for(j=2;j<=k;j++)
if(i%j==0)break;
if(i%j)
{n++; sum+=i;}
}
printf("sum=%d\n",sum);
return 0;
}本回答被网友采纳
第3个回答  2016-04-28
用循环,这个不难的
相似回答