#include "stdio.h"
#include "stdlib.h"
#include "stdbool.h"
int main(void){
unsigned long long *pPrimes = NULL;
unsigned long long trial =0 ;
bool found =false;
int total = 0;
int count = 0;
int i =1;
int j =0;
printf("输入查找多少个质数: ");
scanf("%d",&total);
total = total<4?4:total;
pPrimes = (unsigned long long*)malloc(total*sizeof(unsigned long long));
if(!pPrimes){
printf("没有足够的内存使用!!!");
return 1;
}
*pPrimes = 2ULL;
*(pPrimes+1) = 3ULL;
*(pPrimes+2) =5ULL;
count = 3;
trial = 5ULL;
while(count<total){
trial +=2ULL;
for(i;i<count;++i){
if(!(found=(trial%*(pPrimes+i)))){
break;
}
}
if(found)
*(pPrimes +count++)=trial;
}
for(j;j<total;++j){
printf("%12llu",*(pPrimes+j));
if(!((j+1)%5)){
printf("\n");
}
}
free(pPrimes);
pPrimes =NULL;
return 0;
}
#include "stdlib.h"
#include "stdbool.h"
int main(void){
unsigned long long *pPrimes = NULL;
unsigned long long trial =0 ;
bool found =false;
int total = 0;
int count = 0;
int i =1;
int j =0;
printf("输入查找多少个质数: ");
scanf("%d",&total);
total = total<4?4:total;
pPrimes = (unsigned long long*)malloc(total*sizeof(unsigned long long));
if(!pPrimes){
printf("没有足够的内存使用!!!");
return 1;
}
*pPrimes = 2ULL;
*(pPrimes+1) = 3ULL;
*(pPrimes+2) =5ULL;
count = 3;
trial = 5ULL;
while(count<total){
trial +=2ULL;
for(i;i<count;++i){
if(!(found=(trial%*(pPrimes+i)))){
break;
}
}
if(found)
*(pPrimes +count++)=trial;
}
for(j;j<total;++j){
printf("%12llu",*(pPrimes+j));
if(!((j+1)%5)){
printf("\n");
}
}
printf("\n");
free(pPrimes);
pPrimes =NULL;
return 0;
}