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

Do you need help?

Esercizio 2 hw 1 - Ordine

DanielePi (1440 points)
2 3 16
in Es2 by (1.4k points)
closed by
Ciao , sto provando a svolgere l'esercizio 2 del primo homework ma sto riscontrando diffcoltà. Non riesco a trovare un algoritmo che mi permetta di cominciare a buttare giù codice. Leggendo le varie risposte sul forum riguardanti questo argomento ho letto che è consigliato scorrere i pulsanti al contrario (dal più grande al più piccolo), ma il testo non diceva che i pulsanti vanno premuti in ordine crescente?
508 views
closed with the note: deadline passed

3 Answers

T
Torri (680 points)
0 10 17
by (680 points)
Si devono essere in ordine ma se ci fai caso premere i pulsanti 2 e 4 da lo stesso risultato di premere i pulsanti 4 e 2, per cui ragionare al contrario ti porta alla soluzione e a quel punto ti basta invertire la lista ottenuta
Nevynura (2490 points)
1 4 16
by (2.5k points)
Ciao, come hanno detto andrebbe risolto trovando i bottoni da premere da quello più grande a quello più piccolo. La soluzione poi la ottieni trovandoti il reverse di quei bottoni.
Prima di tutto ti chiedi: se io ho una lista con N=6 e ins=2,4... Sappiamo che la condizione da soddisfare è che TUTTE le lampadine siano accese... Ma 6 (che in questo caso è spenta) non può essere accesa da suoi divisori (perché ogni bottone accende se stesso e i suoi divisori) ne da i suoi multipli (perché le lampadine sono 6, e non c'è una lampadina 12 in grado di accendere 6) Da questo si conclude che 6 si accede SOLO a causa del suo stesso bottone (e che quindi quel bottone fa per forza parte della soluzione). Spero che da questo ragionamento tu possa capire come risolvere.
_andrea_ (45670 points)
13 42 297
by (45.7k points)
I pulsanti in ordine crescente sono quelli che devi dare come risultato della tua funzione, ma è impossibile iniziare veramente a premerli dal più piccolo al più grande perché non puoi sapere cosa avrai dopo. Quindi devi iniziare da destra nel senso che ragioni da destra, poi quando ritorni il risultato lo ordini in ordine crescente. Nessuno ti vieta di usare un ragionamento a partire da N verso 1 e poi dare una risposta adatta a ciò che ti si chiede. Un consiglio è scriverti le lampadine da 1 a 6 come nell'esempio su un pezzo di carta in fila orizzontale, e sotto ci metti dei segni tipo una x e un punto per capire se sono accese o spente. Poi su quell'esempio cerchi di risolverlo tu, realmente, non con un programma, e vedrai che la soluzione sarà quella che sta nella descrizione. Poi fallo con 10 lampadine, iniziando con tot lampadine accese a caso (a scelta tua) poi lo fai con 15 e con 20 e cerchi di capire come lo risolveresti TU nella vita reale. Poi lo fai fare a un programma