c语言内存分配学习之查找质数
2016-11-15 11:06
190 查看
#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");
}
}
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;
}
相关文章推荐
- C语言学习9: malloc动态内存存储,动态内存分配去空格字符增长版,动态内存分配去符号incr增长版,型参和返回值都是int型的函数的指针,main函数的地址也可以用指针指向,typedef定义函数指针,函数定义与嵌套的作用,返回函数指针类型,const作用
- C语言学习笔记:内存分配
- C语言内存分配管理(学习笔记)
- C语言malloc,calloc,realloc,free内存分配函数学习笔记
- C语言学习之动态内存分配第一讲
- c语言学习笔记34之动态内存分配
- C语言中的内存分配
- C语言内存分配疑问及相关回答
- Jim's游戏外挂学习笔记4—查找怪数据数组的内存分布和地址
- C语言中的内存分配深入(二)
- C语言中内存分配和释放
- C语言内存分配问题和 C语言中的内存对齐
- OpenCV学习——内存分配讨论两例
- C/C++学习----第四章 内存分配及其管理
- C的内存分配释放方式学习
- C语言细节之六:内存分配
- C语言给指针分配内存
- Jim's游戏外挂学习笔记4——查找怪数据数组的内存分布和地址
- C/C++学习----第四章 内存分配及其管理
- C语言内存分配基础知识