diff options
| author | E7-87-83 <fungcheokyin@gmail.com> | 2022-01-13 16:52:50 +0800 |
|---|---|---|
| committer | E7-87-83 <fungcheokyin@gmail.com> | 2022-01-13 16:52:50 +0800 |
| commit | b82ed7c55b6a912b237e7fa396e433ac33ca79c8 (patch) | |
| tree | af2ad93bf0190b04d9c3775c87ab3dd61abd99dd /challenge-003/abigail/python/ch-1.py | |
| parent | 415b77f3f489715d7888de8794affe9afe8d1ffb (diff) | |
| parent | f0bd80b2369212d923d8c6a537ba5379067afbf9 (diff) | |
| download | perlweeklychallenge-club-b82ed7c55b6a912b237e7fa396e433ac33ca79c8.tar.gz perlweeklychallenge-club-b82ed7c55b6a912b237e7fa396e433ac33ca79c8.tar.bz2 perlweeklychallenge-club-b82ed7c55b6a912b237e7fa396e433ac33ca79c8.zip | |
-
Diffstat (limited to 'challenge-003/abigail/python/ch-1.py')
| -rw-r--r-- | challenge-003/abigail/python/ch-1.py | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/challenge-003/abigail/python/ch-1.py b/challenge-003/abigail/python/ch-1.py index 30b41dd8fe..8b3ac1e035 100644 --- a/challenge-003/abigail/python/ch-1.py +++ b/challenge-003/abigail/python/ch-1.py @@ -1,27 +1,33 @@ #!/opt/local/bin/python # -# See ../READ.md +# See https://theweeklychallenge.org/blog/perl-weekly-challenge-003 # # -# Run as python ch-1.py < input-file +# Run as: python ch-1.py < input-file # import fileinput -for line in fileinput . input (): - max = int (line) - # - # Python does not have a for (;;) style loop - # - base2 = 1 - while base2 <= max: - base3 = base2 - while base3 <= max: - base5 = base3 - while base5 <= max: - print base5 - base5 *= 5 - base3 *= 3 - base2 *= 2 +ugly = [1] +next_2 = 0 +next_3 = 0 +next_5 = 0 + + +for n in fileinput . input (): + n = int (n) + while len (ugly) < n: + ugly . append (min ([2 * ugly [next_2], + 3 * ugly [next_3], + 5 * ugly [next_5]])) + + if 2 * ugly [next_2] <= ugly [-1]: + next_2 = next_2 + 1 + if 3 * ugly [next_3] <= ugly [-1]: + next_3 = next_3 + 1 + if 5 * ugly [next_5] <= ugly [-1]: + next_5 = next_5 + 1 + + print (ugly [n - 1]) |
