JavaScript——找出1000以内的完数
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
先定义一个变量,用来存储一个数的因子之和
var sum = 0;
使用for循环找出1000以内所有的合数
for (var i = 1; i <= 1000; i++) {
for (var a = 1; a < i; a++) {
if (i % a == 0) {
// 如果是合数就计算出除它本身所有因子之和
sum += a;
}
}
}
接着if判断a的因子之和sum是否相等,如果相等则打印出来
if(a == sum){
console.log(a)
}
最后让sum等于0接着下一次的循环,直到循环到1000
全代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
// 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
var sum = 0;
for (var i = 1; i <= 1000; i++) {
for (var a = 1; a < i; a++) {
if (i % a == 0) {
sum += a;
}
}
if(a == sum){
console.log(a)
}
sum = 0;
}
</script>
</body>
</html>
还没有评论,来说两句吧...