Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 80 of 100 points
- function solve(base, step) {
- let increment = step
- let stone = 0
- let marble = 0
- let lapisLazuli = 0
- let gold = 0
- let currentBase = base
- let outerLayer = 0
- let currentStone = 0
- let currentMarble = 0
- let currentLapis = 0
- let currentGold = 0
- let nextCurrentBase = base
- let row = 0
- while (currentBase > 2) {
- row++
- nextCurrentBase -= 2
- outerLayer = 2 * currentBase + 2 * (currentBase - 2)
- if (nextCurrentBase < step) { // last row
- break
- }
- if (row % 5 === 0) { // every 5th row
- // console.log("lapis")
- currentLapis = outerLayer
- } else {
- // console.log("marble")
- currentMarble = outerLayer
- }
- currentStone = currentBase * currentBase - outerLayer
- increment--
- currentBase = nextCurrentBase
- stone += (currentStone * step)
- marble += (currentMarble * step)
- lapisLazuli += (currentLapis * step)
- currentStone = 0
- currentMarble = 0
- currentLapis = 0
- }
- currentGold = currentBase * currentBase
- gold += currentGold * step
- row++
- console.log(`Stone required: ${Math.round(stone)}`)
- console.log(`Marble required: ${Math.round(marble)}`)
- console.log(`Lapis Lazuli required: ${Math.round(lapisLazuli)}`)
- console.log(`Gold required: ${Math.round(gold)}`)
- console.log(`Final pyramid height: ${Math.floor(row * step)}`)
- }
Advertisement
RAW Paste Data
Copied
Advertisement