本博文源于js基础,旨在讨论如何实现完美数的寻找。
题目重现
如果一个数字的约数的和等于它本身,则称之为“完美数”,其中约束不包含自身。例如:
6就是一个完美数,1+2+3恰好等于自身。
试编程寻找10000以内的所有完美数
实现原理
两重for循环,外层遍历1到1万,内层找约数相加,内循环一轮之后,判断累加和是否与i值相等,相等就打印!
测试结果
附上源码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test4-5</title>
<script>
for(var i=1,sum=0;i<=10000;i++) {
sum = 0;
for(var j=1;j<i;j++) {
if(i%j==0) {
sum += j;
}
}
if(sum == i) {
console.log(i);
}
}
</script>
</head>
<body>
</body>
</html>