第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;
}本回答被网友采纳