diff options
Diffstat (limited to '2019/day1/rec_fuel.py')
-rw-r--r-- | 2019/day1/rec_fuel.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/2019/day1/rec_fuel.py b/2019/day1/rec_fuel.py new file mode 100644 index 0000000..d837202 --- /dev/null +++ b/2019/day1/rec_fuel.py | |||
@@ -0,0 +1,23 @@ | |||
1 | import sys | ||
2 | |||
3 | |||
4 | def recfuel(mass): | ||
5 | """Calculate the fuel required for the module | ||
6 | use the new weight of the fuel recursively | ||
7 | r(M) = r(M / 3 - 2) | ||
8 | """ | ||
9 | M = mass // 3 - 2 | ||
10 | |||
11 | if M < 0: | ||
12 | return 0 | ||
13 | else: | ||
14 | return M + recfuel(M) | ||
15 | |||
16 | |||
17 | total = 0 | ||
18 | |||
19 | for mass in sys.stdin: | ||
20 | ret = recfuel(int(mass)) | ||
21 | total += ret | ||
22 | |||
23 | print(total) | ||