C语言判断一个数是否为完数每一行什么意思

判断一个数是否为完数每一行什么意思

img

解释如下:

img

if (n % j == 0),判断j是否为n的一个因子,是则s加上j。
所以,循环后所以的因子之和是否等于n本身,等于则是完数。

定义n,s,j
输入一个值n
令s等于0
令j等于0,j小于n的一半,j加上1
如果n除以j余数为0
则s加上该值
如果s等于n
则输出此时的n为一个完数

如果有用,请给予采纳

i<n/2那里应该是i<=n/2,比如6的话,3也是它的因子,要算上,否则结果都不会是完数