完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。
性质1:所有的完全数都是三角形数。(一定数目的点或圆在等距离的排列下可以形成一个等边三角形,这样的数被称为三角形数。)
输入格式:
在一行中输入一个 正整数 N。
输出格式:
判断正整数 N 是否是完全数。如果是完全数则输出所有因子和的等式,例如6=1+2+3,并输出其由星号组成的三角形数,详见样例。
输入样例1:
6
输出样例1:
6=1+2+3
*
**
输入样例2:
7
输出样例2:
7不是完全数
n = eval(input())
s = []
for i in range(1, n):
if n % i == 0:
s.append(i)
if sum(s) == n:
print(f"{sum(s)}=" + "+".join(map(str, s)))
n = 1
for i in range(1,len(s)+1):
print("*"*n)
n += 1
else:
print(f"{n}不是完全数")