Collatz
Un fapt amuzant din matematică este că reguli simple pot duce la consecințe mari. De exemplu, Conjectura Collatz întreabă dacă două reguli simple pot reduce orice număr întreg la 1.
Enunțul ei este de obicei următorul:
- Pentru numerele pare, împarte la 2
- Pentru numerele impare, înmulțește cu 3, apoi adaugă 1
Hai să o testăm!
Notă: Dacă întâmpini erori de tip timeout, verifică cu atenție logica instrucțiunii if-else (sau consultă Indiciul).
Acest exercițiu face parte din cursul
Java intermediar
Instrucțiuni pentru exercițiu
- Introdu condiția de terminare corespunzătoare.
- Apelează o metodă pentru a verifica dacă
neste par. - Tratează corect cazul impar – acesta ar trebui să se declanșeze doar dacă
n-ul original este impar.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
class Collatz {
static boolean isEven(int n) {
return n % 2 == 0;
}
public static void main(String[] args) {
int n = 1634;
int i = 0;
System.out.print(n);
// Enter the appropriate termination condition
while (____) {
// Call a method to check if n is even
if (____(n)) {
System.out.println(" is even");
n /= 2;
} // Handle the odd case correctly. All non-even integers are odd
____ {
System.out.println(" is odd");
n = n * 3 + 1;
}
System.out.print(n);
i += 1;
}
System.out.println(" reached in " + i + " steps");
}
}