求1-10000之间的素数,并打印出来。

使用了sbrk和brk函数,采用直接操作内存的方式,尽量减少循环次数,每次进行素数判断仅与之前的素数进行相除。该代码并不健壮,仅作练习用。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> int *p; int Primer(int a,int *size);
main()
{
int a=;
int size;
p=sbrk();
Primer(a,&size);
int i=;
for(;i<size;i++)
{
printf("%d\n",p[i]);
}
} int Primer(int a,int *size)
{ int i=;
int *r;
int sizePr;
if(a<)
{
*size=a;
r=p;
for(;i<a;i++)
{
brk(r+);
*r=i+;
r=sbrk();
}
}
else
{
Primer(,&sizePr);
int j=;
for(;j<=a;j++)
{
int si=;
r=&p[sizePr];
int c=;
for(;si<sizePr;si++)
{
if(j%p[si]==)
{
c=;
break;
}
}
if(c==)
{
brk(r+);
*r=j;
r=sbrk();
sizePr++;
}
}
*size=sizePr;
}
printf("Primer:%p\n",p) ;
return ;
}

最新文章

  1. Java 中 手动抛出异常: throw new Exception(&quot;错误信息&quot;) 错误信息的获得
  2. mysql-1
  3. Asp.NET MVC JSON序列化问题
  4. HTML5 Audio and JavaScript Control
  5. C语言 文件操作8--fputs()和fgets()
  6. mac平台下面ruby环境搭建
  7. 类似github的框架
  8. POJ 1273 Drainage Ditches(网络流dinic算法模板)
  9. hdu5772-String problem(最大权闭合子图问题)
  10. AndroidTv Home界面实现原理(一)——Leanback 库的使用
  11. AutoStartUtil【打开自启动设置界面】
  12. Anaconda安装及配置
  13. python 操作数据库
  14. vue学习生命周期(created和mounted区别)
  15. cJSON库的简单介绍及使用
  16. jquery.form.js mvc 上传文件 layer 选择框与等待效果
  17. VirtualBox vbox not found
  18. 51nod 1225 余数之和 数论
  19. 【转】html之file标签 --- 图片上传前预览 -- FileReader
  20. Mybatis学习笔记(四) —— SqlMapConfig.xml配置文件

热门文章

  1. Container With Most Water——双指针
  2. git reset用法
  3. hdu5823
  4. 【招聘需求】前端开发/PHP工程师【往全栈发展】
  5. HDU 1829 A Bug&#39;s Life 【带权并查集/补集法/向量法】
  6. c++风格
  7. 第2天:Ansible-Inventory管理
  8. noip 2008 传纸条
  9. Luogu P4093 [HEOI2016/TJOI2016]序列 dp套CDQ
  10. BZOJ 1109 [POI2007]堆积木Klo(树状数组)