题解:洛谷 B2128 素数个数
本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。欢迎大家订阅我的专栏算法题解C与Python实现附上汇总贴算法竞赛备考冲刺必刷题C | 汇总【题目来源】洛谷B2128 素数个数 - 洛谷【题目描述】编程求2 ∼ n 2\sim n2∼nn nn为大于等于2 22的正整数中有多少个素数。【输入】输入n ( 2 ≤ n ≤ 50000 ) n(2 \le n \le 50000)n(2≤n≤50000)。【输出】输出一行表示2 ∼ n 2\sim n2∼n中的素数个数。【输入样例】10【输出样例】4【算法标签】#入门# #语法基础#【代码详解】#includebits/stdc.husingnamespacestd;intn,ans;// n: 上限, ans: 素数个数// 判断x是否是素数boolisPrime(intx){// 从2到sqrt(x)检查是否有因子for(inti2;i*ix;i)if(x%i0)// 如果i能整除xreturnfalse;// x不是素数returntrue;// 没有找到因子x是素数}intmain(){cinn;// 输入上限n// 从2到n遍历每个数for(inti2;in;i)if(isPrime(i))// 如果是素数ans;// 计数器加1coutansendl;// 输出素数个数return0;}【运行结果】10 4