diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-10-05 22:32:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-05 22:32:46 +0100 |
| commit | 934b4cb3c83f10b37568229cc7c0ea6f83db3174 (patch) | |
| tree | ec5942a240eb2f80a0b14560188abbbb9bc84911 | |
| parent | c22bb4307d884ce2e4681f25f3cbb759f9f69263 (diff) | |
| parent | 3183f0b695018c7450e8c442b2404595c895efb1 (diff) | |
| download | perlweeklychallenge-club-934b4cb3c83f10b37568229cc7c0ea6f83db3174.tar.gz perlweeklychallenge-club-934b4cb3c83f10b37568229cc7c0ea6f83db3174.tar.bz2 perlweeklychallenge-club-934b4cb3c83f10b37568229cc7c0ea6f83db3174.zip | |
Merge pull request #4976 from Kaiepi/challenge-133
Revise Ben Davies' challenge 133 task 1 solution
| -rw-r--r-- | challenge-133/ben-davies/raku/ch-1.raku | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/challenge-133/ben-davies/raku/ch-1.raku b/challenge-133/ben-davies/raku/ch-1.raku index 98fd70d0ee..44ce0d2ba2 100644 --- a/challenge-133/ben-davies/raku/ch-1.raku +++ b/challenge-133/ben-davies/raku/ch-1.raku @@ -1,4 +1,12 @@ use v6; unit sub MAIN(Int:D $n where * > 0) { - say (1..$n).first({ $^x == $n div $^x }); + # Newton's method. Adapted from Algorithm 1.13 of: + # https://maths-people.anu.edu.au/~brent/pd/mca-cup-0.5.9.pdf + my $x; + my $L = $n; + repeat { + $x = $L; + $L = ($x + $n div $x) div 2; + } until $L >= $x; + say $x; } |
