Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(base, stageHeight) {
- let totalArea = 0;
- let bulkArea = 0;
- let stages;
- let lapisLazuliStones = 0;
- let marbleStones = 0;
- let stoneStones = 0;
- let goldStones = 0;
- if (base % 2 == 0) {
- goldStones = 4;
- } else {
- goldStones = 1;
- }
- if (base % 2 == 0) {
- stages = base / 2;
- } else {
- stages = (base + 1) / 2;
- }
- for (let stage = 1; stage <= stages - 1; stage++) { //ще смятаме само до предпоследния етаж, защото последия е златен и в зависимост от това дали основата е четна или не, златото е 1 или 4
- if (stage % 5 == 0) { //ако сме на ред, който се дели на 5, отвън има лапис
- totalArea = base * base; // смятаме основата
- bulkArea = (base - 2) * (base - 2); //смятаме колко камък има в основата
- stoneStones += bulkArea;
- lapisLazuliStones += totalArea - bulkArea;
- } else { //етаж, на който отвън има мрамор
- totalArea = base * base; // смятаме основата
- bulkArea = (base - 2) * (base - 2); //смятаме колко камък има в основата
- stoneStones += bulkArea;
- marbleStones += totalArea - bulkArea;
- }
- base -= 2;
- }
- console.log(`Stone required: ${Math.ceil(stoneStones*stageHeight)}`);
- console.log(`Marble required: ${Math.ceil(marbleStones*stageHeight)}`);
- console.log(`Lapis Lazuli required: ${Math.ceil(lapisLazuliStones*stageHeight)}`);
- console.log(`Gold required: ${Math.ceil(goldStones*stageHeight)}`);
- console.log(`Final pyramid height: ${Math.floor(stages*stageHeight)}`);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement