Guide for Caga tió!
Com abordar aquest problema
Per cada generació n has de saber com es diu el vers d'aquella generació, sabent que el nom \
evoluciona amb el temps ("tió" es converteix en "cagatió", després en "cagacagatió", etc). La \
sortida sempre té la forma Caga <nom>tio!, on <nom> és una repetició de la paraula caga \
(que pot ser zero vegades, com passa a les primeres generacions).
Idea general:
- Llegeix el nombre de casos i, per cadascun, el número de generació n.
- Rellegeix l'enunciat amb calma: hi explica exactament cada quantes generacions el nom \
incorpora un
cagamés. Tradueix això a un càlcul (per exemple amb una divisió entera) que et \ digui quantes vegades cal repetircagaper a una generació concreta. - Construeix el text repetint la paraula
cagatantes vegades com hagis calculat, i afegeix \tio!al final. - Munta la línia completa:
Cagaseguit del text que has construït. - Mostra aquesta línia per cada cas de prova.
Paranys habituals:
- El problema demana escriure "tio" sense tilde (tal com diu l'enunciat), no "tió".
- No confonguis el nombre de vegades que s'ha de repetir
cagaamb el propi número de \ generació — no és el mateix; estudia bé els exemples per trobar la relació correcta.
Pista per a Java
Fes servir un StringBuilder per anar afegint les repeticions de "caga":
import java.util.*;
public class Main {
static String vers(int n) {
// calculeu aqui quantes vegades cal repetir "caga" per a la generacio n
int repeticions = 0; // substituiu per la formula correcta, deduida de l'enunciat
StringBuilder sb = new StringBuilder("Caga ");
for (int i = 0; i < repeticions; i++) {
sb.append("caga");
}
sb.append("tio!");
return sb.toString();
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int casos = Integer.parseInt(sc.nextLine().trim());
for (int i = 0; i < casos; i++) {
int n = Integer.parseInt(sc.nextLine().trim());
System.out.println(vers(n));
}
}
}