Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Implementazione ciclo while

k
kosmin1997 (230 points)
1 2 3
in Es3 by (230 points)
reshown by
Sera, ho provato ad implementare per necessità per l'esercizio 3 il while al posto del for ma ho notato che i test senza timeout si bloccano del tutto, di preciso il programma si blocca al 5 test (test letto da json e e moltiplicato per 1000) alla riga dell'incremento della mia variabile i del ciclo while, se qualcuno l'ha provato a fare col while mi potrebbe dire gentilmente se è possibile farlo col while o meno, se è possibile farlo oppure avete incontrato la stessa difficoltà qualche consiglio è ben gradito, perché mi pare al quanto strano che si blocchi proprio sull'incremento della variabile.
590 views

4 Answers

u
ugo.monticone (1220 points)
0 3 13
by (1.2k points)
ciao, in linea di massima i cicli hanno tutti (for, while) lo stesso 'peso' quindi utilizzare l'uno o l'altro non fa differenza. ciò che fa grande differenza in termini di efficienza è ciò che si fa all'interno del ciclo. personalmente ho utilizzato cicli for nell'es.3, ma prova a vedere se riesci ad 'alleggerire' il carico all'interno del ciclo: per me ha funzionato separare due operazioni in due cicli diversi; codice "brutto" ma molto più veloce.
f
fatal1ty (450 points)
0 0 5
by (450 points)

Io il terzo esercizio l'ho fatto con il ciclo while e non ho riscontrato particolari problemi. Probabilmente non superi il 5 test perché è uno di quelli più "impegnativi". Anche a me all'inizio è capitato di non superare proprio quel test per la poca ottimizzazione dell'algoritmo, sembrava andasse in loop ma la verità è che ci stava impiegando troppo indecision. Prova ad ottimizzare l'algoritmo.

Xriuk (13590 points)
8 24 116
by (13.6k points)
Magari sbagli l'incremento oppure la condizione del while e va in loop, per quello il blocco
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Controlla i messaggi di errore, probabilmente è andato in timeout
k
kosmin1997 (230 points)
1 2 3
by (230 points)
Non gli ho impartito alcun timeout sul test, a meno che non abbia un timeout di default non dovrebbe essere andato in timeout