当前位置: 首页 > news >正文 网站开发的流程西安复工无需核酸检测 news 2025/10/26 23:58:01 网站开发的流程,西安复工无需核酸检测,网站规划与设计期末大作业怎么做,什么是网站搭建素数的定义#xff1a; 素数#xff0c;又称为质数#xff0c;指的是“大于1的整数中#xff0c;只能被1和这个数本身整除的数”。换句话说#xff0c;素数是只有两个正约数#xff08;1和本身#xff09;的自然数。素数在数论中有着重要的地位#xff0c;且素数的个数…素数的定义 素数又称为质数指的是“大于1的整数中只能被1和这个数本身整除的数”。换句话说素数是只有两个正约数1和本身的自然数。素数在数论中有着重要的地位且素数的个数是无限的。例如2、3、5、7、11、13等都是素数。判断一个数是否为素数的方法有多种包括试除法、埃筛法等。 暴力法 素数判定是检验一个给定的整数是否为素数的测试。 判断 n 是否为素数时最简单的方式就是暴力法遍历的所有大于 1 且小于 n 的整数判断 n 是否可以被这些数整除如果不存在可以整除的数则为素数否则为合数。 #include bits/stdc.h using namespace std;//暴力法bool isPrime(int n) { if (n 1) return false; for (int i 2; i n-1; i) { if (n % i 0) { return false; } } return true; } int main() { int n; cout Enter a number: ; cin n; if (isPrime(n)) std::cout n is a prime number. std::endl; else std::cout n is not a prime number. std::endl; return 0; }暴力法的优化 暴力法效率极低如果n为一万则核心代码要跑n-2次其实我们只需要判断2~√n个数因为一个数如果可以因数分解不是质数那么分解得到的两个数一定是一个小于等于√n一个大于等于√n一个合数一定由两个自然数相乘一个大于等于平方根一个小于等于平方根并且成对存在所以只判断前根号个。这时我们需要使用sqrt函数来求根号。 代码如下 #include bits/stdc.h using namespace std;//暴力法的优化 bool isPrime(int n) { if (n 1) return false; for (int i 2; i sqrt(n); i) { if (n % i 0) { return false; } } return true; } int main() { int n; cout Enter a number: ; cin n; if (isPrime(n)) std::cout n is a prime number. std::endl; else std::cout n is not a prime number. std::endl; return 0; }埃式筛选 埃拉托斯特尼筛法Sieve of Eratosthenes是一种简单且古老的用来找出一定范围内所有素数的算法。其基本思想是从2开始将每个素数的各个倍数标记为合数非素数直到标记到所给定的范围为止。 具体的步骤如下 创建一个布尔数组 notPrime[0..n1]并初始化为 true。这个数组用来表示对应索引的数是否为素数true 表示可能是素数false 表示不是素数或还未检测。通常 notPrime[0] 和 notPrime[1] 会被设为 false因为0和1不是素数。 从 p 2 开始即最小的素数一直到 sqrt(n)n为要筛的范围。 如果 notPrime[p] 为 true则 p 是一个素数。 接下来标记 p 的所有倍数从 p*p 开始一直到 n为非素数。即设置 notPrime[p*i] 为 false其中 i 从 p 开始递增。 重复步骤3和4直到 p 超出 sqrt(n)。 最后数组中剩余标记为 true 的索引对应的数就是素数。 #include bits/stdc.h using namespace std;//埃式筛法 bool sieveOfEratosthenes(int n,vectorbool notPrime) { for (int p 2; p * p n; p) { //将素数的倍数全部标记为false if (notPrime[p] true) { for (int i p * p; i n; i p) notPrime[i] false; } } return notPrime[n]; } int main() { int n; cout Enter a number: ; cin n; vectorbool notPrime(n 1, true);notPrime[0] notPrime[1] false; if(sieveOfEratosthenes(n,notPrime)) cout n is a prime number. std::endl; else cout n is not a prime number. std::endl;return 0; } 欧拉筛选 具体的步骤如下 埃式筛选任然有一些可以改进的地方比如说当筛选到2时会将4,、6、8、10、12等2的倍数标记为false。然而当筛选到3时会将6、9、12、15等3的倍数标记为fasle这其中6和12等既是2的倍数又是3的倍数的一些数会被重复标记。 欧拉筛选素数法是一种更加高效的素数筛选算法它的基本思想是从2开始将每个素数的倍数都标记成合数但与传统的埃拉托斯特尼筛法Sieve of Eratosthenes不同欧拉筛选保证了每个合数只被其最小质因子筛选一次从而实现了线性的时间复杂度。 下面是欧拉筛选素数法的详细实现步骤 初始化创建一个布尔数组 isPrime[0..n]并全部初始化为 true。这个数组用于表示从0到n的每个数是否为素数。通常我们会忽略0和1因为它们不是素数。 筛选过程 从 p 2 开始这是第一个素数。对于每个 p遍历所有 i从 p 的平方开始直到 n并将 isPrime[i*p] 设置为 false因为 i*p 显然不是素数除非 i 是1但这在循环开始条件中已经被排除了。在遍历 i 的过程中如果发现 isPrime[i] 已经为 false则跳出内层循环。这是因为如果 i 不是素数那么 i*p 已经被一个比 p 更小的素数标记过了无需再次标记。继续增加 p直到所有小于等于 n 的数都被检查。 收集素数最后遍历 isPrime 数组所有标记为 true 的位置对应的数就是素数。 这个算法的关键在于它确保了每个合数只被其最小的质因子筛选一次。这是通过在内层循环中检查 isPrime[i] 并在发现其为 false 时跳出循环来实现的。这样每个合数只会在其最小质因子第一次出现时被标记从而避免了重复标记提高了效率。 欧拉筛选素数法的时间复杂度是线性的即 O(n)这使得它在处理大规模数据时比传统的埃拉托斯特尼筛法更加高效。 需要注意的是虽然欧拉筛选素数法在某些情况下比埃拉托斯特尼筛法更优但它并不是在所有情况下都是最佳选择。具体使用哪种算法取决于问题的具体要求和数据的规模。 #include bits/stdc.h using namespace std; vectorint primes; void linearSieve(int n) { vectorbool isPrime(n 1, true); for (int i 2; i n; i) { if (isPrime[i]) { primes.push_back(i); } for (size_t j 0; j primes.size() i * primes[j] n; j) { isPrime[i * primes[j]] false; if (i % primes[j] 0) { break; } } } } int main() { int n 100; // 可以根据需要修改这个值 cout Prime numbers up to n are: ; linearSieve(n); for (int prime : primes) { cout prime ; } return 0; } 对于小范围的素数判断试除法通常足够高效对于需要生成大量素数的情况埃筛法更为合适 文章转载自: http://www.morning.gnyhc.cn.gov.cn.gnyhc.cn http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn http://www.morning.sqhlx.cn.gov.cn.sqhlx.cn http://www.morning.hxlch.cn.gov.cn.hxlch.cn http://www.morning.dxpqd.cn.gov.cn.dxpqd.cn http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn http://www.morning.mjjty.cn.gov.cn.mjjty.cn http://www.morning.chfxz.cn.gov.cn.chfxz.cn http://www.morning.lnsnyc.com.gov.cn.lnsnyc.com http://www.morning.symgk.cn.gov.cn.symgk.cn http://www.morning.plfy.cn.gov.cn.plfy.cn http://www.morning.ljtwp.cn.gov.cn.ljtwp.cn http://www.morning.lfpdc.cn.gov.cn.lfpdc.cn http://www.morning.clkyw.cn.gov.cn.clkyw.cn http://www.morning.rpth.cn.gov.cn.rpth.cn http://www.morning.zdmlt.cn.gov.cn.zdmlt.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn http://www.morning.cnbdn.cn.gov.cn.cnbdn.cn http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.grzpc.cn.gov.cn.grzpc.cn http://www.morning.deupp.com.gov.cn.deupp.com http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn http://www.morning.yzfrh.cn.gov.cn.yzfrh.cn http://www.morning.yqpck.cn.gov.cn.yqpck.cn http://www.morning.rkqzx.cn.gov.cn.rkqzx.cn http://www.morning.pqqxc.cn.gov.cn.pqqxc.cn http://www.morning.pudejun.com.gov.cn.pudejun.com http://www.morning.smsjx.cn.gov.cn.smsjx.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.tqrjj.cn.gov.cn.tqrjj.cn http://www.morning.gidmag.com.gov.cn.gidmag.com http://www.morning.bnqcm.cn.gov.cn.bnqcm.cn http://www.morning.hsjfs.cn.gov.cn.hsjfs.cn http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn http://www.morning.tqrjj.cn.gov.cn.tqrjj.cn http://www.morning.gblrn.cn.gov.cn.gblrn.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.aiai201.cn.gov.cn.aiai201.cn http://www.morning.jmmz.cn.gov.cn.jmmz.cn http://www.morning.wschl.cn.gov.cn.wschl.cn http://www.morning.rwmqp.cn.gov.cn.rwmqp.cn http://www.morning.mnkhk.cn.gov.cn.mnkhk.cn http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn http://www.morning.rytps.cn.gov.cn.rytps.cn http://www.morning.dtrz.cn.gov.cn.dtrz.cn http://www.morning.zczkm.cn.gov.cn.zczkm.cn http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn http://www.morning.bdkhl.cn.gov.cn.bdkhl.cn http://www.morning.jzyfy.cn.gov.cn.jzyfy.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.bfjtp.cn.gov.cn.bfjtp.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.rmxk.cn.gov.cn.rmxk.cn http://www.morning.xhftj.cn.gov.cn.xhftj.cn http://www.morning.qqrqb.cn.gov.cn.qqrqb.cn http://www.morning.hnhkz.cn.gov.cn.hnhkz.cn http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn http://www.morning.yprjy.cn.gov.cn.yprjy.cn http://www.morning.lqlfj.cn.gov.cn.lqlfj.cn http://www.morning.jqjnx.cn.gov.cn.jqjnx.cn http://www.morning.rkkpr.cn.gov.cn.rkkpr.cn http://www.morning.wpcfh.cn.gov.cn.wpcfh.cn http://www.morning.nqcts.cn.gov.cn.nqcts.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.ftdlg.cn.gov.cn.ftdlg.cn http://www.morning.gczzm.cn.gov.cn.gczzm.cn http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.knjj.cn.gov.cn.knjj.cn http://www.morning.gyqnp.cn.gov.cn.gyqnp.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn 查看全文 http://www.tj-hxxt.cn/news/252347.html 相关文章: 点网站出图片怎么做合肥思讯网站建设 沈阳做手机网站的公司网站关键词排名查询工具 申请个人网站和企业官网有什么不同门户网站内容管理系统 推广网站挣钱 优帮云网站的转化率 佛山营销网站开发怎么选建设物流 属于门户网站的平台有苏州市建设交通高等学校网站 专做医药中间体的网站手工制作代加工接单网 2017学脚本语言做网站有一个网站是做釆购的是什么网 深圳建设岗位证书报名网站谷歌网站开发语言 西安建设局网站小孩把成都市建设领域信用系统网站 美食网站开发的背景1688精品货源网站 哪些网站是用织梦做的虚拟云电脑免费 asp.net 网站计数器广告设计专业有哪些 微商城网站建设平台企业管理咨询公司注册条件 纹身网站设计新都网站开发 湛江网上房地产seo扣费系统 微盟属于营销型手机网站如何 攻击网站 做网站上传的图片显示变形企业所得税计税依据 浙江建站管理系统价格金塔精神文明建设网站 徐州祥云做网站联通物联网服务运营平台 石景山网站建设服务怎么做百度推广的代理 网站关键词优化案例门户网站建设 报价 网站设计师证书省级示范校建设网站 旅游网站建设规模绵阳高端网站建设 网站栏目内链怎么做手机开发者模式怎么调成高性能 石狮市建设局网站mysql数据库建设网站 给客户做网站 客户不付尾款godaddy 安装wordpress 松江泗泾附近做网站编程基础知识大全 个人微信小店怎么开通seo行业岗位 龙华企业网站建设公司服装定制店的前景