Algorithm


Problem Name: 2 AD-HOC - beecrowd | 2427

Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2427

Chocolate

Por OBI - Olimpíada Brasileira de Informática 2012 BR Brazil

Timelimit: 1

Por lei, na Nlogônia todas as barras de chocolate são quadradas. Anamaria tem uma barra quadrada de chocolate de lado L, que ela quer compartilhar com alguns colegas da obi. Mas ela é uma boa cidadã e cumpre a lei. Então, ela divide a barra em quatro pedaços quadrados, de lado L/2. Depois, ela repete esse procedimento com cada pedaço gerado, sucessivamente, enquanto o lado for maior do que, ou igual a 2cm. Você deve escrever um programa que, dado o lado L da barra inicial, em centímetros, determina quantos pedaços haverá ao final do processo.

Entrada

A entrada consiste de uma linha, com um único inteiro, L (2 ≤ L ≤ 104), o número de centímetros do lado do quadrado.

Saída

Se programa deve imprimir uma única linha, contendo um único inteiro, igual ao número total de pedaços obtidos pela Anamaria.

Exemplos de Entrada Exemplos de Saída

4

16

Code Examples

#1 Code Example with C++ Programming

Code - C++ Programming


#include <cstdio>
#include <queue>
using namespace std;
int main() {
    int resposta = 0, n;
    scanf("%d", &n);
    queue < int> simulacao;
    simulacao.push(n);
    while (!simulacao.empty()) {
        int davez = simulacao.front();
        simulacao.pop();
        // printf("%d\n",davez);
        if (davez >= 2) {
            for (int i = 1; i  < = 4; i++) simulacao.push(davez / 2);
        } else {
            resposta++;
        }
    }
    printf("%d\n", resposta);
    return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
4

Output

x
+
cmd
16

#3 Code Example with C Programming

Code - C Programming


#include <stdio.h>
#include <math.h>

int main(void) {
   short n;

   scanf("%hd", &n);
   printf("%d\n", (int) pow(4, (int) log2(n)));

   return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
4

Output

x
+
cmd
16

#2 Code Example with Javascript Programming

Code - Javascript Programming


const { readFileSync } = require("fs")
const [size] = readFileSync("/dev/stdin", "utf8").split("\n")

const squaresFromSize = (size) => 2 ** (Math.floor(Math.log2(size)) * 2)

console.log(squaresFromSize(+size))
Copy The Code & Try With Live Editor

Input

x
+
cmd
4

Output

x
+
cmd
16
Advertisements

Demonstration


Previous
#2425 Beecrowd Online Judge Solution 2425 Banco Solution in C, C++, Java, Js and Python
Next
#2430 Beecrowd Online Judge Solution 2430 Catálogo de Músicas Solution in C, C++, Java, Js and Python