Skip to content

Commit e56cc38

Browse files
committed
Solução Comentada do Aquecimento A
1 parent 90ddbf7 commit e56cc38

File tree

1 file changed

+50
-1
lines changed
  • 2016/primeirafase/aquecimento/A/src/main/java

1 file changed

+50
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,70 @@
1+
//import do java.util.Scanner
12
import java.util.Scanner;
23

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+
*/
327
public class A {
428

529
public static void main(String[] args) {
30+
//Scanner: Objeto para ler do terminal
31+
//lembrar do import java.util.Scanner;
632
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
736
long r = scanner.nextInt(16);
37+
//Lado do post-it Verde
838
long g = scanner.nextInt(16);
39+
//Lado do post-it Azul
940
long b = scanner.nextInt(16);
41+
//fechando o scanner (opcional)
1042
scanner.close();
43+
// numero de post-its vermelhos = 1
1144
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
1248
long green = (int) (r / g);
49+
// o resultado multiplicar por ele mesmo
1350
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
1455
long blue = g / b;
56+
// o resultado multiplicar por ele mesmo
57+
// (descobrimos a quantidade de post-its azuis que cabem em 1 verde)
1558
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
1762
long sum = red + green + blue;
63+
//convertemos novamente de decimal (base 10) para hexadecimal (base 16)
1864
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.
1968
}
2069

2170
}

0 commit comments

Comments
 (0)