日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2024/9/27 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最大素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

#include

#include

int* pt = NULL; // primes_table

int pt_size = 0; // primes_table 數(shù)量大小

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); // 函數(shù)rewind()把文件指針移到由stream(流)指定的開始處, 同時清除和流相關(guān)的錯誤和EOF標記

int pt_size = file_size / sizeof(int); // 質(zhì)數(shù)個數(shù)

pt = new int[pt_size]; // 分配 質(zhì)數(shù)表內(nèi)存

// copy the file into the buffer: 該文件復制到緩沖區(qū)

int result = fread(pt, sizeof(int), pt_size, pFile); // 返回值是讀取的內(nèi)容數(shù)量

if (result != pt_size) {

fputs("Reading error", stderr); // 返回值如果不和文件大小,讀錯誤

exit(3);

}

fclose(pFile);

return pt_size;

}

/* 非遞歸算法 二分法查找

* 算法:當數(shù)據(jù)量很大適宜采用該方法。

* 采用二分法查找時,數(shù)據(jù)需是排好序的。

* 主要思想是:(設(shè)查找的數(shù)組區(qū)間為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;

}

// 判斷是否質(zhì)數(shù) 9999991 以內(nèi)

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 是 素數(shù)\n", ++end);

return 0;

}

使用while 感覺簡單點

總結(jié)

以上是生活随笔為你收集整理的最大素数c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。