【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
1 function addFactor1(num) { 2 var sum = 0; 3 var tmp = ""; 4 for (var i = 0; i <= num; i++) { 5 sum = 0; 6 var arr = new Array(i); 7 for (var j = 1; j <= i/2; j++) { 8 if (i % j === 0) { 9 var k = 0;10 arr[k] = j;11 sum += arr[k];12 k++;13 }14 }15 if (i === sum) {16 tmp += i + " ";17 }18 }19 return tmp;20 }
1 function addFactor2(num) { 2 var i, j, sum = 0, tmp = ""; 3 for (var i = 0; i < num; i++) { 4 sum = 0; 5 for (j = 1; j <= i / 2; j++) { 6 if (i % j == 0) { 7 sum += j; 8 } 9 }10 if (sum === i) {11 tmp += i + " ";12 }13 }14 return tmp;15 }