一个数如果恰好等于它的因子之和,我们就称这个数为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。请编程序输出1000之内的所有完数。
代码:
<script language=javascript>
var max = 1000;
var sum=1;
var i=2;
var j;
var s = "完数是:"
for (; i<=max; i++)
{
for ( j=2; j<=parseInt(Math.sqrt(i)); j++)
{
if ( i % j == 0 )
{
if ( j == i/j )
{
sum += i;
}
else
{
sum += j + i/j;
}
}
}
if (i == sum)
{
s += i + " ";
}
sum = 1;
}
alert( s );
</script>
代码:
<script language=javascript>
var max = 1000;
var sum=1;
var i=2;
var j;
var s = "完数是:"
for (; i<=max; i++)
{
for ( j=2; j<=parseInt(Math.sqrt(i)); j++)
{
if ( i % j == 0 )
{
if ( j == i/j )
{
sum += i;
}
else
{
sum += j + i/j;
}
}
}
if (i == sum)
{
s += i + " ";
}
sum = 1;
}
alert( s );
</script>