c语言生成一个大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#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以内最大素数怎么搞最简单??各位大神们...相关推荐
- c语言输出最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- c语言10000以内的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- C语言输出素数简单,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- 求最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- 最大素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- 最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- c语言10000以内最大的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- c语言求10000以内的质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
- c语言找最大质数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int* pt = NULL; // primes_table int pt_size = 0; // primes_ ...
最新文章
- Spring+SpringMVC+MyBatis整合教程
- Anroid-async-http封装网络请求框架源码分析
- 深度解读 MongoDB 4.4 新特性
- 2020蓝桥杯省赛---java---B---7(单词分析)
- COLLEGE.sql(复制的时候注意路径!!!)
- mac os qt项目编译_【Qt开发】第一个Qt程序Hello World!
- 第十篇 requests模块
- php shuffle有种子吗6,6个BT种子网站,没有它找不到的资源!太少人知道了怪可惜的...
- Typora 中文字体深度修改
- java jdom 包_org.jdom jar包下载
- java 序列号怎么获取,Java获得硬盘和主板的序列号代码
- Ubuntu修改/home下各目录为英文
- 技嘉显卡性能测试软件,显卡性能与超频:性能高于公版,超频潜力可圈可点
- lighttpd和php关系,Lighttpd是什么
- 60后刘备聘用80后诸葛亮的启示
- 用 python 调用和风天气的 api 爬取天气预报数据
- mac打开桌面与屏幕保护程序卡死(解决方案)
- mysql全称_mysql全称
- 解答私信@weixin_63670635 //2021-10-30 C语言 某商场节假日商品打折,优惠政策如下:(1)购买商品价格低于100元的,不享受优惠。。。
- Vchat — 从头到脚,撸一个社交聊天系统(vue + node + mongodb)
热门文章
- 应用开发专家一席谈:开发低代码,上手低门槛,AppCube使能Citizen Developer,人人都是开发者
- 工商银行:应用多k8s集群管理及容灾实践
- 为什么vacuum后表还是继续膨胀?
- 华为云数据库携新品惊艳亮相2019华为全联接大会
- OpenCV图像识别初探-50行代码教机器玩2D游戏
- 【华为云实战开发】14.如何使用Node爬虫利器Puppteer进行自动化测试
- 用户登录python_python用户登录系统
- td外边加div为啥不隐藏_过年炸油饼注意了,秘制配方比例教给你,柔软不吸油,放凉了不硬...
- Android 数据访问之SharedPreference demo+笔记
- VBA合并csv文件