1_2.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. const input = [
  2. 94164
  3. , 100562
  4. , 114499
  5. , 134308
  6. , 138764
  7. , 114494
  8. , 70457
  9. , 113793
  10. , 117753
  11. , 77795
  12. , 110371
  13. , 113357
  14. , 118839
  15. , 99757
  16. , 119918
  17. , 145232
  18. , 147113
  19. , 142411
  20. , 93053
  21. , 81783
  22. , 124022
  23. , 98470
  24. , 77368
  25. , 75163
  26. , 79175
  27. , 131174
  28. , 93196
  29. , 121875
  30. , 86016
  31. , 148758
  32. , 126577
  33. , 109812
  34. , 105696
  35. , 66318
  36. , 146939
  37. , 113236
  38. , 130014
  39. , 135719
  40. , 127114
  41. , 69700
  42. , 109416
  43. , 64168
  44. , 89215
  45. , 69015
  46. , 128511
  47. , 59682
  48. , 79067
  49. , 58795
  50. , 145447
  51. , 129419
  52. , 93058
  53. , 63860
  54. , 146148
  55. , 58364
  56. , 74149
  57. , 81871
  58. , 116469
  59. , 131739
  60. , 132852
  61. , 148040
  62. , 98865
  63. , 56588
  64. , 79326
  65. , 114713
  66. , 52397
  67. , 134887
  68. , 114809
  69. , 113356
  70. , 60505
  71. , 142323
  72. , 84792
  73. , 117079
  74. , 147796
  75. , 50196
  76. , 148897
  77. , 100794
  78. , 50508
  79. , 71023
  80. , 149350
  81. , 66679
  82. , 93680
  83. , 116069
  84. , 133042
  85. , 117291
  86. , 127439
  87. , 81598
  88. , 93163
  89. , 83964
  90. , 64226
  91. , 63026
  92. , 82625
  93. , 59589
  94. , 94831
  95. , 66807
  96. , 120375
  97. , 112108
  98. , 83484
  99. , 109892
  100. , 66136
  101. , 126794
  102. ];
  103. const demo = [14];
  104. function CalculateFuelMass(fuelWeight) {
  105. const fuelForFuel = Math.floor(fuelWeight / 3) - 2;
  106. return fuelForFuel <= 0 ? 0 : fuelForFuel + CalculateFuelMass(fuelForFuel);
  107. }
  108. function CalculateShipMass(moduleMasses) {
  109. const calcultedMasses = moduleMasses.map((mass) => {
  110. const fuelForMass = Math.floor(mass / 3) - 2;
  111. // console.log(`DEBUG: fuelForMass: ${fuelForMass}`);
  112. // console.log(`DEBUG: CalculateFuelMass: ${CalculateFuelMass(fuelForMass)}`);
  113. return fuelForMass + CalculateFuelMass(fuelForMass);
  114. });
  115. const totalMass = calcultedMasses.reduce((totalMass, currValue) => totalMass + currValue);
  116. // console.log(`DEBUG: totalMass: ${totalMass}`);
  117. return totalMass;
  118. }
  119. console.log(CalculateShipMass(input));