diff options
| author | David Ferrone <zapwai@gmail.com> | 2024-03-15 11:21:15 -0400 |
|---|---|---|
| committer | David Ferrone <zapwai@gmail.com> | 2024-03-15 11:21:15 -0400 |
| commit | 60c68b3209b3c09d3cbd29b4ef33080546a43fbd (patch) | |
| tree | 48d43fa4f9c8ea2492e7ab11146b7df7bb1a1679 /challenge-008/zapwai/javascript | |
| parent | 2a68a16c1d8727b183d85c88f31ae6cec6a869b1 (diff) | |
| download | perlweeklychallenge-club-60c68b3209b3c09d3cbd29b4ef33080546a43fbd.tar.gz perlweeklychallenge-club-60c68b3209b3c09d3cbd29b4ef33080546a43fbd.tar.bz2 perlweeklychallenge-club-60c68b3209b3c09d3cbd29b4ef33080546a43fbd.zip | |
Weekly Challenge Blast from the Past
Diffstat (limited to 'challenge-008/zapwai/javascript')
| -rw-r--r-- | challenge-008/zapwai/javascript/ch-1.js | 30 | ||||
| -rw-r--r-- | challenge-008/zapwai/javascript/ch-2.js | 30 |
2 files changed, 60 insertions, 0 deletions
diff --git a/challenge-008/zapwai/javascript/ch-1.js b/challenge-008/zapwai/javascript/ch-1.js new file mode 100644 index 0000000000..44351de732 --- /dev/null +++ b/challenge-008/zapwai/javascript/ch-1.js @@ -0,0 +1,30 @@ +function is_perfect(num) { + let divs = list_divisors(num); + let sum = 0; + divs.forEach(item => { + sum += item; + }); + return (num == sum); +} + +function list_divisors(num) { + let divs = [1]; + for (let i = 2; i <= num/2; i++) { + if (num % i == 0) + divs.push(i); + } + return divs; +} + +let perfect_numbers = []; + +for (let p = 2; p <= 15; p++) { + let num = Math.pow(2, p-1) * (Math.pow(2,p) - 1); + if (is_perfect(num)) + perfect_numbers.push(num); + if (perfect_numbers.length == 5) + break; +} + +console.log(perfect_numbers); + diff --git a/challenge-008/zapwai/javascript/ch-2.js b/challenge-008/zapwai/javascript/ch-2.js new file mode 100644 index 0000000000..e2f7dfaa46 --- /dev/null +++ b/challenge-008/zapwai/javascript/ch-2.js @@ -0,0 +1,30 @@ +function center(words) { + let lens = []; + for (let word of words) + lens.push(word.length); + let m = max(lens); + let ind = 0; + for (let l of lens) { + let sp = (m - l) / 2; + let s = ""; + for (let i = 0; i < sp; i++) + s += " "; + s += words[ind] + "<br>"; + ind++; + document.write(s); + } +} + + +function max (nums) { + let max = 0; + for (let n of nums) { + if (max < n) + max = n; + } + return max; +} + +let words = ["This", "is", "a test of the", "center function"]; +center(words); +console.log(max([3, 5, 7, 1, 15])); |
