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语言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语言求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语言,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_ ...
最新文章
- [教程]JS从糊涂到明白:一步一步编写计算器3 – 功能扩展
- spring mvc 接收页面表单List
- .f90文件批量转为dll文件_办公必备神器DropIt V8.5.1Portable文件整理分类工具
- 【JUC并发编程04】线程间定制化通信(单标志法存在的问题)
- linux5.4无法远程,利用Xmanager_在RedHat5.4下实现Linux远程桌面
- React开发(166):ant design form 设置值
- LeetCode 526. 优美的排列(回溯)
- jeecg 如何重新加载当前渲染tab页面
- 逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能...
- Adobe Originals的可变字体
- 【Java线程池实现原理及其在美团业务中的实践】
- 【数字孪生】UE4虚幻引擎与前端Web页面的结合
- 下载jupyterlab中的文件夹
- 转Genymetion
- 用python 打印等腰三角形
- cfg格式文件在服务器哪里,cfg文件,小编教你怎么打开cfg文件
- 合肥工业大学计算机与信息学院学生会宗旨,合肥工业大学宣城校区第一届学生会成立大会召开...
- STM32C8T6的FreeRTOS移植
- 用逗号分割并在Python中去除空格
- 《大话西游》你真的看懂了吗,kotlin命令行编译
热门文章
- strings.SplitN()
- nacos的配置中心
- Redis命令之散列
- Ae效果控件快速参考:透视
- Java冷知识(三)编译器的花招之synthetic修饰符
- android资源加载流程6,FrameWork源码解析(6)-AssetManager加载资源过程
- Web APIs(七)
- 二、【数据结构】列表(list)的实现
- “你家娃为什么这么爱看书?”只用3招,孩子秒变小书迷
- mysql 钩子函数_Vue入门基础(生命周期钩子函数)