首页 > 其他分享 >Leedcode-完美数

Leedcode-完美数

时间:2024-05-22 13:07:23浏览次数:12  
标签:False factors 完美 Leedcode 列表 因子 num

自己写的:

class Solution:
    def checkPerfectNumber(self, num: int) -> bool:
        # 如果数字是1,则直接返回False,因为1不是完美数
        if num == 1:
            return False
        
        # 初始化一个空的列表来存储因子
        factors = []
        
        # 遍历从1到该数字平方根的所有整数
        for i in range(1, int(num ** 0.5) + 1):
            # 如果当前数i是num的因子
            if num % i == 0:
                # 将i添加到因子列表中
                factors.append(i)
                
                # 如果i不是num的平方根,将num // i添加到因子列表中
                # 确保因子num // i不等于num自身
                if i != 1 and i != num // i:
                    factors.append(num // i)
        
        # 计算因子之和,并与num进行比较
        # 如果因子之和等于num,则num是完美数,返回True
        # 否则返回False
        return num == sum(factors)

# 示例使用
number = 28
solution = Solution()
print(solution.checkPerfectNumber(number))  # 输出True,因为28是完美数

 

标签:False,factors,完美,Leedcode,列表,因子,num
From: https://www.cnblogs.com/yyyjw/p/18206048

相关文章

  • Leedcode-相对名次
    自己写的:fromtypingimportListclassSolution:deffindRelativeRanks(self,score:List[int])->List[str]:#获取成绩列表的长度n=len(score)#复制原始成绩列表score_former=score#对成绩列......
  • 完美的邮件大附件解决方案,需要具备哪些传输功能?
    企业办公中,会经常使用到电子邮件,进行文件传输和发送。但大多数电子邮件服务都有附件大小的限制,超过这个限制的文件无法通过邮件直接发送,会需要寻找邮件大附件解决方案。通常会涉及到用邮件发送的情况,包括但不限于以下几种:内部沟通:企业内部员工之间发送文件;正式文档:发送正式的......
  • 人工智能帮你一键生成完美架构图
    简介架构图通过图形化的表达方式,用于呈现系统、软件的结构、组件、关系和交互方式。一个明确的架构图可以更好地辅助业务分析、技术架构分析的工作。架构图的设计是一个有难度的任务,设计者必须要对业务、相关技术栈都非常清晰才能设计出来符合需求的架构图。实践演练有明确的......
  • RabbitMQ在Java中的完美实现:从入门到精通
    哈喽,大家好,我是木头左!一、RabbitMQ简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。本......
  • Leedcode-二叉搜索树中的众数
    自己写的:classSolution:#findMode方法接受一个二叉树的根节点root,并返回一个列表,其中包含树中出现次数最多的值deffindMode(self,root:Optional[TreeNode])->List[int]:#初始化一个队列,用于层次遍历二叉树queue=[root]#初始化......
  • Leedcode-键盘行
    自己写的:classSolution:#定义findWords方法,该方法接受一个字符串列表words作为参数deffindWords(self,words:List[str])->List[str]:#定义三个字符串,分别包含键盘上三行的字母str1="qwertyuiopQWERTYUIOP"#第一行字母str2=......
  • Leedcode-下一个更大元素 I
    自己写的:classSolution:defnextGreaterElement(self,nums1:List[int],nums2:List[int])->List[int]:res=[]#结果列表,用于存储每个nums1中元素在nums2中的下一个更大元素num1_ptr=0#指向nums1当前元素的指针num2_ptr=0#......
  • Leedcode-提莫攻击
    自己写的,中间算法有遗漏的遍历classSolution:deffindPoisonedDuration(self,timeSeries:List[int],duration:int)->int:ifduration==0:#如果duration为0,则返回0,因为没有中毒时间return0count=0#初始化中毒总时间......
  • P6577 【模板】二分图最大权完美匹配 (KM)
    $\quad$初看就发现不对劲了,模板紫题,一看就不简单,就交了个裸\(KM\),哎,果然\(T\)了。$\quad$然后就是大力卡常(当然\(O(n^4)\))的复杂度不是卡常能解决的。遂看题解,发现一个据说\(O(n^3)\)的复杂度的\(KM\),也是非常抽象。具体解释详见https://www.luogu.com.cn/article/ip2m1gu......
  • Leedcode-构造矩形
    自己写的classSolution:defconstructRectangle(self,area:int)->List[int]:#计算给定面积的平方根root=area**0.5#初始化结果列表,默认为[1,area],即长为面积,宽为1的情况temp=[1,area]#如果面积是一个完全......