资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
打印自然数中前 n 个素数。程序的主文件是 PrintPrim.cpp。存放 n 个素数的数据结构,用一维数组。判断素数算法:根据素数的定义,x 是素数,当且仅当 x 只能被1 和自身整除。因此,要确定 x 是不是素数,只要检查 x 能不能被不超过 sqrt(x)的数整除即可。划分模块,逐步求精:打印自然数中前 n 个素数的任务划分为判断 x 是否素数、找前 n 个素数、打印前 n 个素数三部分,以函数抽象之。程序实现:#include stdio.h#include math.h#define MaxLen 10000bool IsPrim(int x) /判断 x 是否素数for(int i=2;i=sqrt(x);i+)if(x%i=0) return false;return true;void FindPrims (int a, int n) /找前 n 个素数存于数组 a 中int x=1;a0 =2; /第一个素数是 2,不用求int i=1; /数组的下标位置while (in)x=x+2; /素数除了 2 外,只能是奇数,从 3 搜寻if(IsPrim(x)ai = x; /将素数 x 放到数组 a 的第 i 个位置处i+; /下个位置增 1void PrintPrims(int a, int n)FindPrims(a,n); /找前 n 个素数存于数组 a 中for(int i=0; in; i+) /打印数组 a 中存放的 n 个素数printf(%8d, ai);printf(n);void main()int aMaxLen; /a 存放素数int n; /打印素数的个数printf(Please Input A Number To N);scanf(%d, &n);PrintPrims(a, n); /打印 a 数组中的前 n 个素数
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号