【每日一题】3233. 统计不是特殊数字的数字数量

 

给你两个 正整数 l 和 r。对于任何数字 xx 的所有正因数(除了 x 本身)被称为 x 的 真因数。

如果一个数字恰好仅有两个 真因数,则称该数字为 特殊数字。例如:

  • 数字 4 是 特殊数字,因为它的真因数为 1 和 2。
  • 数字 6 不是 特殊数字,因为它的真因数为 1、2 和 3。

返回区间 [l, r] 内 不是 特殊数字 的数字数量。

 

复制代码
class Solution:
    def countPrimes(self, n: int) -> int:
        # 埃氏筛:时间复杂度:O(nloglogn)。
        # 质数标记为0。1不是质数
        isPrime  = [0] * n
        ans = 0
        for i in range(2, n):
            if isPrime [i] == 0:
                ans += 1
                if i*i < n:
                    for j in range(i * i, n, i):
                        isPrime[j] = 1
        return ans
复制代码

 

posted @   xiaoxinlong  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
AmazingCounters.com
点击右上角即可分享
微信分享提示