编程打卡:C语言趣味编程习题做

编程打卡:C语言趣味编程习题做

完数

问题描述

完数是因子相加等于它本身的数字,求一个范围内的完数。

设计思路

遍历这个范围内的数字,求它的因子,然后判断是否为完数即可。

流程图

graph A[开始]-->B[inputN,i=2]-->C{i<=N}--Yes-->D[j=1,sum=0]-->E{j<=i/2}--Yes-->F{i%j==0}--Yes-->G[sum+=i]-->E; E--No-->H{sum==i}--Yes-->I["print(i)"]-->C; H--No-->C; C--No-->J[结束];

代码实现

n = int(input())
for i in range(2,n+1):
    sum = 0
    for j in range(1,i//2+1):
        if i%j==0:
            sum += j
    if sum==i:
        print(i)

运行结果

输入

1000

输出

6
28
496

posted @ 2023-04-21 19:33  satou_matsuzaka  阅读(30)  评论(0)    收藏  举报

This is a Test

メイドノココロハ アヤツリドール