输入一个数判断完全数丰沛数不足数,有点搞不清提议,能不能教我一下捏
你题目的解答代码如下:
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}是不足数")
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
首先你需要理解题目中的概念,以及涉及的概念,比如对 完全数来说,
完全数N是一个正整数,其所有真因数 之和等于本身。
所谓真因数N,就是 ,就是除了N本身这个因数外,[1,N )中所有的整数因数 的和恰好等于N。
所以对应编程为
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