博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 204 计数质数 HRODING的LeetCode之路
阅读量:156 次
发布时间:2019-02-28

本文共 975 字,大约阅读时间需要 3 分钟。

统计所有小于非负整数 n 的质数的数量。

示例 1:

输入:n = 10

输出:4
解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。

示例 2:

输入:n = 0

输出:0

示例 3:

输入:n = 1

输出:0

提示:

0 <= n <= 5 * 106

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/count-primes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

思前想后,还是只用最传统的思想去解决这道题目,首先编写一个函数对输入的数字进行判断,判断是否是质数,如果是返回true,不是返回false,质数的判断很简单,就是从1遍历到它的平方根,看看是否能够整除,不能就说明是质数,再在主函数里面循环遍历要求的范围,统计数目,代码如下:

class Solution {
public:// 判断函数 bool judge(int n){
// 循环遍历判断是否是质数 for(int i = 2; i * i <= n; i ++){
if(n % i == 0){
return false; } } return true; } int countPrimes(int n) {
int num = 0; // 注意这里从2开始遍历,默认0,1的范围内没有质数 for(int i = 2; i < n; i ++){
num += judge(i); } return num; }};/*作者:heroding链接:https://leetcode-cn.com/problems/count-primes/solution/po-su-de-zhi-shu-pan-duan-fang-fa-by-heroding/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/
你可能感兴趣的文章