''' 基本思路就是: 遍历从2至n(含n)的所有整数, (整数1明显不符合条件) 寻找每个数的因子, 然后当前数的所有因子累加, 判断累加和是否和当前数相等, 如果相等则标记值+1. ''' n = int(input())#输入整数n pn = 0#完全数标记位(完全数个数) for i in range(2,n+1):#遍历从2至n(含n)的所有整数 p = [] for j in range(1,i):#遍历从1至当前数的前一位的所有数,寻求当前数的因子 if i%j == 0:#是当前数的因子,则添加到当前数因子合集的集合中 p.append(j) sum = 0 for j in p:#求当前数因子的累加和 sum += j if sum == i:#判断当前数因子的累加和是否和当前数相等,相等则完全数标记位+1 pn += 1 print(pn)#输出完全数的个数