-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathKageBunshinNoJutsu.java
46 lines (36 loc) · 2.05 KB
/
KageBunshinNoJutsu.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
====================================================
Desafios Intermediários - GFT QA #1
====================================================
2/3 - Kage Bunshin no Jutsu
====================================================
Desafio
Uma das técnicas mais poderosas usadas pelos ninjas, chamada de Kage Bunshin no Jutsu e conhecida também como "Técnica dos clones de sombra", é capas de produzir uma cópia idêntica da pessoa que utilizar essa técnica.
É como uma espécie de mitose, na qual um ninja vira dois, sem possibilidade de diferenciar qual é o original e qual é a cópia.
E por se tratar de uma cópia fidedigna, essa cópia por si só também é capaz de realizar a técnica de clone de sombra e, portanto, se o original e a cópia o fizeram, isso resultaria em 4 ninjas no total. E assim por diante, numa multiplicidade quase infinita a depender da habilidade do ninja.
Há N ninjas diante de você, mas ao invés de contá-los usando seus reflexos, o que seria muito difícil, você irá usar seus conhecimentos em programação para determinar quantos existem.
Entrada
A entrada contém vários casos de teste. Cada caso contém uma linha com o número N (1 ≤ N ≤ 106). É garantido que o valor de N é tal que é possível obter exatamente N cópias de um ninja utilizando a técnica (incluindo o original).
Saída
Para cada caso de teste, imprima uma linha contendo o número de vezes que a técnica foi utilizada.
-----------------------------------------
| Exemplo de Entrada | Exemplo de Saída |
-----------------------------------------
| 1 | 0 |
| 2 | 1 |
| 4 | 2 |
-----------------------------------------
SOLUÇÃO ABAIXO: */
import java.io.IOException;
import java.util.Scanner;
public class KageBunshinNoJutsu {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int N;
while (sc.hasNext()) {
N = sc.nextInt();
System.out.println((int)(Math.log(N)/Math.log(2)));
}
sc.close();
}
}