该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

int* pt = NULL; // primes_table

int pt_size = 0; // primes_table 数量大小

int init_primes_table(void)

{

FILE* pFile;

pFile = fopen("primes_table.bin", "rb");

if (pFile == NULL) {

fputs("primes_table.bin error", stderr); // 如果文件错误,退出1

exit(1);

}

// obtain file size: 获得文件大小

fseek(pFile, 0, SEEK_END); // 指针移到文件末位

int file_size = ftell(pFile); // 获得文件长度

rewind(pFile); // 函数rewind()把文件指针移到由stream(流)指定的开始处, 同时清除和流相关的错误和EOF标记

int pt_size = file_size / sizeof(int); // 质数个数

pt = new int[pt_size]; // 分配 质数表内存

// copy the file into the buffer: 该文件复制到缓冲区

int result = fread(pt, sizeof(int), pt_size, pFile); // 返回值是读取的内容数量

if (result != pt_size) {

fputs("Reading error", stderr); // 返回值如果不和文件大小,读错误

exit(3);

}

fclose(pFile);

return pt_size;

}

/* 非递归算法 二分法查找

* 算法:当数据量很大适宜采用该方法。

* 采用二分法查找时,数据需是排好序的。

* 主要思想是:(设查找的数组区间为array[low, high])

*/

int binary(int* a, int key, int n)

{

int left = 0, right = n - 1, mid = 0;

mid = (left + right) / 2;

while (left < right && a[mid] != key) {

if (a[mid] < key) {

left = mid + 1;

} else if (a[mid] > key) {

right = mid;

}

mid = (left + right) / 2;

}

if (a[mid] == key)

return mid;

return -1;

}

// 判断是否质数 9999991 以内

bool isprimes(int x)

{

int flag = binary(pt, x, pt_size);

if (flag == -1)

return false;

return true;

}

int main(int argc, char* argv[])

{

pt_size = init_primes_table();

int end = 10000;

while (!isprimes(end--)) {

}

printf("%d 是 素数\n", ++end);

return 0;

}

使用while 感觉简单点

c语言10000以内的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...相关推荐

  1. c语言求10000以内的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  2. c语言10000以内最大的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  3. c语言找最大质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  4. C语言输出素数简单,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  5. 求最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  6. c语言输出最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  7. 最大素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  8. 最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

  9. 输出一万以内最大的素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...

最新文章

  1. 多表连接去重复 mysql_连接多个表时避免重复条目(MySQL)
  2. 阿里 Sentinel 源码解析
  3. classin安卓手机安装条件_Classin在线学习平台安装指引——从这里打开知识的大门与北京四中网校名师面对面交流学习!...
  4. oracle触发器的类型及使用方法
  5. VS2017 调用Tesseract
  6. c语言 spawn函数,我在electron程序中spawn了一个C语言程序作为子进程,我该如何与这个子进程通信?...
  7. 腾讯视频怎样开启深色模式保护眼睛
  8. OPPO沈义人:OPPO即将量产全球最快的手机快充65W SuperVOOC
  9. Oracle数据库的打开与关闭、后台进程
  10. 深入理解jQuery中的Deferred
  11. 手机传感器数据导出_旧手机先别扔丨简单改造秒变黑科技监测器
  12. 自然语言处理seq2seq模型实现人工智能对对联(基于TensorFlow框架)
  13. Oracle 10g 32位 下载地址
  14. linux 查看ko符号表,linux modprobe命令参数及用法详解--linux加载模块命令
  15. 大数据学习笔记-------------------(17_3)
  16. 计网实验:单臂路由实现VLAN之间的通信详解(Cisco Packet Tracer)
  17. 截流式合流制设计流量计算_[2018年最新整理]合流制排水管网设计与计算.ppt
  18. Allegro如何输出STP文件操作指导
  19. ArcGIS入库操作
  20. 记录一次SM3281折腾记

热门文章

  1. PCL中3D特征描述子Shot详解
  2. 【汇总】ElementUI中高频次使用代码片段
  3. 使用Vue的filters(本地)或filter(全局)过滤常用数据类型
  4. 【fiveClick】2秒内5连击(五连击)vue事件自定义、双击自定义、任意次连击
  5. 在Ubuntu 14.04 64bit上安装MongoDB并测试
  6. Python for虚幻引擎编辑器工具脚本学习教程
  7. MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset
  8. 怎样对拍、如何对拍、对拍模板
  9. 复习es6-解构赋值+字符串的扩展
  10. sendStickyBroadcast和sendStickyOrderedBroadcast