Desafio 1 – Barris de vinho
Enunciado
Resolução
import java.util.*; import java.math.*; public class Barris { public static void main(String[] args){ Scanner sc1 = new Scanner(System.in); sc1.useLocale(Locale.ENGLISH); int N = sc1.nextInt(); for(int i = 0; i < N; i++){ BigDecimal v1 = sc1.nextBigDecimal(); BigDecimal a1 = sc1.nextBigDecimal(); BigDecimal v2 = sc1.nextBigDecimal(); BigDecimal a2 = sc1.nextBigDecimal(); BigDecimal resp = new BigDecimal("0.14"); if((a1.compareTo(resp) > 0 && a2.compareTo(resp) > 0) || (a1.compareTo(resp) < 0 && a2.compareTo(resp) < 0)) System.out.println("Assim n vai dar. A bebida tem que estar perfeita!"); else { BigDecimal alcool = (v1.multiply(a1)).add(v2.multiply(a2)); BigDecimal porcent = alcool.divide(v1.add(v2), MathContext.DECIMAL64); if(porcent.compareTo(resp) == 0) System.out.println("Hehe, esse aqui ta no ponto."); else if(porcent.compareTo(resp) < 0){ if(a2.compareTo(a1) > 0) System.out.println("Hehe, esse aqui ta no ponto. Guardem o barril 1 pra depois."); else System.out.println("Hehe, esse aqui ta no ponto. Guardem o barril 2 pra depois."); } else { if(a2.compareTo(a1) > 0) System.out.println("Hehe, esse aqui ta no ponto. Guardem o barril 2 pra depois."); else System.out.println("Hehe, esse aqui ta no ponto. Guardem o barril 1 pra depois."); } } } } }
Desafio 2 – Guerra de Troia
Enunciado
Resolução
import java.util.Scanner; public class Troia { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String[] entrada = sc.nextLine().split(" "); while(!entrada[0].equals("C")){ int g=0; boolean a = false; for(int i=0; i<entrada[0].length(); i++){ switch(entrada[0].charAt(i)){ case 'G': g++; break; case 'A': a = !a; break; } } if(a && g > Integer.parseInt(entrada[1])-10) System.out.println("Eu que nao fico no caminho dele!"); else if(g>Integer.parseInt(entrada[1])) System.out.println("Recuar!"); else System.out.println("Atacar!"); entrada = sc.nextLine().split(" "); } System.out.println("Ah que mal deve ser receber um presente de grego?"); } }
Desafio 3 – As 12 tarefas de Hercules
Enunciado
Resolução
import java.util.Scanner; public class Tarefas { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); for(int i=0; i<n; i++){ String[] s = sc.nextLine().split(" "); String t = s[s.length-1]; switch (t){ case "7": System.out.println("Eu capturei o touro de Creta"); break; case "8": System.out.println("Eu capturei os cavalos de Diomedes"); break; case "9": System.out.println("Eu obtive o cinto de Hipolita"); break; case "10": System.out.println("Eu roubei os gados de Geriao"); break; case "11": System.out.println("Eu consegui as macas de ouro"); break; case "12": System.out.println("Eu capturei Cerberos"); break; default: System.out.println("Vai catar coquinho, seu besta fracote"); } } } }
Desafio 4 – Narciso Matemático
Enunciado
Resolução
import java.util.Scanner; public class Narciso { public static void main(String[] args) { Scanner sc1 = new Scanner (System.in); int n = sc1.nextInt(); sc1.nextLine(); int a,b; int letra = 0; for (int i =0 ; i< n; i++){ String ope = sc1.nextLine(); for(int j = 0; j < ope.length(); j++){ if(!(Character.isDigit(ope.charAt(j)))) { letra = j; break; } } a = Integer.parseInt(ope.substring(0, letra)); b = Integer.parseInt(ope.substring(letra+1, ope.length())); int res =0; switch(ope.charAt(letra)){ case 'n': res = a+b; break; case 'a': res = a-b; break; case 'r': res = a*b; break; case 'c': res = a/b; break; case 'i': int respa = 1; for(int j = a; j > 0; j--) respa = respa*j; int respb = 1; for(int j = b; j > 0; j--) respb = respb*j; res = respa/respb; break; case 's': res = a%b; break; case 'o': res = 1; for (int j =0 ; j < b ; j++){ res = res * a; } break; } System.out.println(res); } } }
Desafio 5 – Odisseu e as sereias
Enunciado
Resolução
import java.util.Scanner; public class Sereia { public static void main(String[] args){ Scanner input = new Scanner(System.in); int n = Integer.parseInt(input.nextLine()); String[] chaves = {"dor", "medo", "morte"}; for(int i = 0; i < n; i++){ String palavra = ""; int check = 0; String entrada = (input.nextLine()).toLowerCase(); if(entrada.contains("morte")){ palavra = "morte"; int[] resp = new int[5]; resp = checkPalavra("morte", entrada); System.out.println(resp[0] + "-" + resp[1] + "-" + resp[2] + "-" + resp[3] + "-" + resp[4] + " " + palavra ); check = 1; } if(entrada.contains("medo") && check != 1){ palavra = "medo"; int[] resp = new int[4]; resp = checkPalavra("medo", entrada); System.out.println(resp[0] + "-" + resp[1] + "-" + resp[2] + "-" + resp[3] + " " + palavra ); check = 1; } if(entrada.contains("dor") && check != 1){ palavra = "dor"; int[] resp = new int[3]; resp = checkPalavra("dor", entrada); System.out.println(resp[0] + "-" + resp[1] + "-" + resp[2] + " " + palavra ); } } } public static int[] checkPalavra(String chave, String entrada){ int[] ump = new int[5]; int p = 0; int j; int q; char ch = chave.charAt(p); for(int i = 0; i<entrada.length(); i++){ int[] num = new int[5]; p = 0; int acertando = 0; if(entrada.charAt(i) == chave.charAt(p)){ acertando++; num[0] = i; } j = i; q = p; while(acertando>0 && acertando<chave.length()){ j++; q++; if(entrada.charAt(j) == chave.charAt(q)){ acertando++; num[q] = j; } else acertando = 0; } if(acertando==chave.length()) return num; } return ump; } }
Desafio 6 – Paradeiro de Perséfone
Enunciado
Resolução
import java.util.*; import java.text.ParseException; import java.text.SimpleDateFormat; public class Persefone { public static void main(String[] args) throws ParseException { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); sc.nextLine(); for(int i=0; i<n; i++){ String s = sc.nextLine(); StringBuffer sb = new StringBuffer(s); sb = sb.reverse(); SimpleDateFormat sdf = new SimpleDateFormat("mm/dd"); Date data = sdf.parse(sb.toString()); Date iOut = sdf.parse("20/03"); Date fOut = sdf.parse("21/09"); System.out.printf(sb.toString()); if (data.compareTo(iOut)>=0 && data.compareTo(fOut)<=0) System.out.println(" O solo nao estara ao nosso favor nesse dia."); else System.out.println(" O solo estara ao nosso favor nesse dia."); } } }