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

#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语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...相关推荐

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

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

  2. 最大素数c语言,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语言10000以内的质数,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语言10000以内最大的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...

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

  8. c语言求10000以内的质数,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. C#使用Ado.net读取Excel表的代码
  2. jvm回收垃圾_没有垃圾回收的JVM
  3. php yaf.dll,windows下配置nginx+php+yaf的环境
  4. 致每一位Java初学者
  5. 计算机操作系统的功能有哪些,操作系统的基本功能是什么
  6. 年薪 40w 的大数据简历,长什么样?
  7. win10用什么软件测试xone手柄,win10系统连接xbox手柄的操作方法
  8. 微信小程序————样式
  9. 零信任学习系列一——研读NIST零信任架构(正式版)
  10. vs2017 项目开发 解决方案下的多个项目
  11. 密码1-分类,常用类型,密码分析
  12. 鸡尾酒会算法 --- 公式
  13. C#拆分PPT、PPT转视频、PPT转图片
  14. 相约AIIA!百度飞桨深度学习公开课预约中
  15. -eq、-ne、-gt、-ge、-lt、-le英文意思
  16. 基于python的深度学习框架有_《用Python实现深度学习框架》上市
  17. canvas + JavaScript实现幸运大转盘
  18. 全志XR806芯片 getsockopt、setsockopt失败如何解决?
  19. 使用Graphviz下的dot工具绘制图像
  20. Android 谷歌输入法安装包

热门文章

  1. python在windows上的扩展名_python – 如何克服 – 在windows上使用文件名或扩展名失败的pip install ansible...
  2. 依赖dll_DLL攻击漫谈
  3. java 类对象_Java中的对象和类是什么?
  4. 解读mysql日志_全方位解读 MySQL 日志实现内幕(四)
  5. 开发Flex for Android第一个ANE(ActionScript Native Extensions)本地扩展
  6. android activity启动模式_从0系统学Android--2.5Activity启动模式
  7. 个人计算机硬件构成的叙述正确的是,2010年职称计算机考试模拟试题及答案(计算机基础)2...
  8. h3c服务器r690修改启动顺序,H3C UIS R690 G2服务器 CPU快速入门-6W101
  9. android studio 图表,Android Studio——记账本以及图表可视化实现
  10. AIX、hpux、linux 通过nfs文件系统运行oracle 数据库