程序9
【程序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 }