用js求1~10000以内的完全数

JavaScript036

用js求1~10000以内的完全数,第1张

function yinz(num){

    for(var j = 1 j <= numj++){

        var sum = 0

        for(var i = 1i < ji++){

            if(j % i == 0){

                sum = sum + i

            }

        }

        if(sum == j){

            console.info(j)

        }

    }

}

yinz(10000)

完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。

输出1000以内的所有完数的代码如下:

Pascal语言实现如下:

var

i,j,k:integer

begin

for i:=1 to 1000 do

begin

k:=0

for j:=1 to i-1 do

if i mod j=0 then inc(k,j)

if k=i then writeln(i)

end

end.

C语言实现如下:

#include<stdio.h>

void main()

{

int i,j,k

for(i=1i<=1000i++)

{

k=0

for(j=1j<=i-1j++)

if(i%j==0) k+=j

if(k==i) printf("%d\n",i)

}

}