|
| 1 | +//import do java.util.Scanner |
1 | 2 | import java.util.Scanner;
|
2 | 3 |
|
| 4 | + |
| 5 | + |
| 6 | +/** |
| 7 | + * A) Sobre os nomes dos programas |
| 8 | + * 1) Sua solução deve ser chamada <i>codigo_de_problema.c</i>, |
| 9 | + * <i>codigo_de_problema.cpp</i>, <i>codigo de problema.pas</i>, |
| 10 | + * <i> codigo_de_problema.java</i> ou <i>codigo de problema.py</i>, |
| 11 | + * onde codigo de problema é a letra maiúscula que identifica o problema. |
| 12 | + * |
| 13 | + * Lembre que em Java o nome da classe principal deve ser igual ao nome do arquivo. |
| 14 | + * |
| 15 | + * Exemplo: |
| 16 | + * O Codigo do problema Etiquetas Coloridas do Aquecimento 2016 foi A. |
| 17 | + * Então o Arquivo vai se chamar A.java e a classe A. |
| 18 | + * |
| 19 | + * public class A { |
| 20 | + * ... |
| 21 | + * } |
| 22 | + * |
| 23 | + * |
| 24 | + * @author mariojp |
| 25 | + * |
| 26 | + */ |
3 | 27 | public class A {
|
4 | 28 |
|
5 | 29 | public static void main(String[] args) {
|
| 30 | + //Scanner: Objeto para ler do terminal |
| 31 | + //lembrar do import java.util.Scanner; |
6 | 32 | Scanner scanner = new Scanner(System.in);
|
| 33 | + //Obtendo o valor em hexa (base 16) e já convertendo para decimal (base 10) |
| 34 | + //scanner.nextInt(16); |
| 35 | + //Lado do post-it Vermelho |
7 | 36 | long r = scanner.nextInt(16);
|
| 37 | + //Lado do post-it Verde |
8 | 38 | long g = scanner.nextInt(16);
|
| 39 | + //Lado do post-it Azul |
9 | 40 | long b = scanner.nextInt(16);
|
| 41 | + //fechando o scanner (opcional) |
10 | 42 | scanner.close();
|
| 43 | + // numero de post-its vermelhos = 1 |
11 | 44 | long red = 1; //red
|
| 45 | + // numero de post-its verdes: |
| 46 | + // (red/green)^2 |
| 47 | + // dividir o lado do post-it vermelho pelo lado do post-it verde |
12 | 48 | long green = (int) (r / g);
|
| 49 | + // o resultado multiplicar por ele mesmo |
13 | 50 | green = green * green; // green
|
| 51 | + |
| 52 | + // numero de post-its azuis: |
| 53 | + // (green/blue)^2 * green |
| 54 | + // dividir o lado do post-it verde pelo lado do post-it azul |
14 | 55 | long blue = g / b;
|
| 56 | + // o resultado multiplicar por ele mesmo |
| 57 | + // (descobrimos a quantidade de post-its azuis que cabem em 1 verde) |
15 | 58 | blue = blue * blue;
|
16 |
| - blue = blue * green; |
| 59 | + // o resultado multiplicar pela quantidade de post-its verdes |
| 60 | + blue = blue * green; //blue |
| 61 | + //somamos então a quantidade de post-its vermelhos, verdes e azuis |
17 | 62 | long sum = red + green + blue;
|
| 63 | + //convertemos novamente de decimal (base 10) para hexadecimal (base 16) |
18 | 64 | System.out.println(Long.toHexString(sum));
|
| 65 | + |
| 66 | + //Obs.: o uso de long no lugar de int foi necessario pois os casos de testes |
| 67 | + //apresentaram resultados que não cabiam no tipo int. |
19 | 68 | }
|
20 | 69 |
|
21 | 70 | }
|
0 commit comments