判断完全数丰沛数不足数

输入一个数判断完全数丰沛数不足数,有点搞不清提议,能不能教我一下捏

img

你题目的解答代码如下:

n = int(input())
s = sum([x for x in range(1,n) if n%x==0])
if s==n:
    print(f"{n}是完全数")
elif s>n:
    print(f"{n}是丰沛数")
else:
    print(f"{n}是不足数")

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

首先你需要理解题目中的概念,以及涉及的概念,比如对 完全数来说,
完全数N是一个正整数,其所有真因数 之和等于本身。
所谓真因数N,就是 ,就是除了N本身这个因数外,[1,N )中所有的整数因数 的和恰好等于N。

所以对应编程为

  1. 要判断输入是否符合规范
  2. 根据定义进行判断
    n = int(input())
    if  n<=0 :
     print(f"输入的{n}不是正整数,程序将退出")
    else :
    s = sum([x for x in range(1,(n+1)//2) if n%x==0]) #这里稍微进行一下优化,真因数不大于N/2 ,从而减小遍历范围
    if s==n:
        print(f"{n}是完全数")
    elif s>n:
        print(f"{n}是丰沛数")
    else:
        print(f"{n}是不足数")
    

https://zhidao.baidu.com/question/1646890595602524020/answer/3675529184.html

我超,校友

完全数,丰沛数,不足数
https://blog.csdn.net/combeginner/article/details/115626554