Middle
class ToInfinity { public static void main(String[] args) { //scrivi il codice qui for (int i = start; i <= start + 1; i++) { /* qui deve esserci un ciclo infinito, niente può essere cambiato */ } } }
sobes.tech AI
Risposta dell'AI
In questo codice, è necessario definire la variabile start in modo che il ciclo for (int i = start; i <= start + 1; i++) venga eseguito all'infinito, senza modificare il corpo del ciclo.
Idea: impostare start al valore massimo di int (Integer.MAX_VALUE). In questo modo, la condizione i <= start + 1 sarà sempre vera, poiché al verificarsi dell'overflow start + 1 diventerà il numero negativo minimo, e i non lo supererà mai.
Esempio di soluzione:
class ToInfinity {
public static void main(String[] args) {
int start = Integer.MAX_VALUE;
for (int i = start; i <= start + 1; i++) {
// ciclo infinito
}
}
}
Spiegazione:
start= 2147483647start + 1overflow e diventa -2147483648- Con il confronto
i <= start + 1, si confronta con un numero negativo, maial suo incremento overflowa e diventa negativo, quindi il ciclo non terminerà mai.