Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 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 2021-22 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.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Homework 1 esercizio 2

Adriano.Sapuppo (350 points)
0 6 8
asked Oct 23, 2018 in Es2 by Adriano.Sapuppo (350 points)
closed Nov 7, 2018 by andrea.sterbini

Ciao a tutti,

credo di aver trovato l asoluzione ma non l'approccio:

  • Si accende una lampadina se del tasto cliccato c'è il divisore
  • Una lampadina spenta rimarrà accesa se il numero massimo dei divisori è dispari tra i tasti cliccati

Quindi se io ho una lista di liste dove dentro le liste ci sono i divisori di N fino ad uno + i tasti già accesi, volevo sapere per intenderci quante volte è presente l'elemento 6 all'interno delle liste della lista. Come si fa?

Grazie

350 views
closed with note: deadline passed

2 Answers

A
Andre (330 points)
0 0 3
answered Oct 23, 2018 by Andre (330 points)
Si fa con un for dentro un for. Questo approccio però è estremamente costoso
Adriano.Sapuppo (350 points)
0 6 8
commented Oct 23, 2018 by Adriano.Sapuppo (350 points)
Immaginavo. Hai qualche idea da condividermi?
A
Andre (330 points)
0 0 3
commented Oct 23, 2018 by Andre (330 points)
Più che altro ti sconsiglio di prendere quell'approccio. Quello che potresti provare è fare cambiamenti su una copia dell'insieme accese per ricordarti quali luci sono accese e quali no in un determinato momento
dico una copia perché i valori di input non vanno mai modificati a meno che non sia richiesto
Adriano.Sapuppo (350 points)
0 6 8
commented Oct 23, 2018 by Adriano.Sapuppo (350 points)
Però ti pongo una domanda riguardo a quanto mi consigli. Come fai ad escludere un tasto? Perché come dici tu di sicuro devi premere in sequenza tutti i tasti per vedere che succede.
Xriuk (13590 points)
0 24 116
answered Oct 23, 2018 by Xriuk (13,590 points)
Scusami, secondo il tuo approccio tu prima calcoli i divisori di ogni interruttore (da cui la lista di liste) e poi li conteggi, giusto? Non saprei dirti se il tuo approccio è corretto, perchè io l'ho svolto diversamente.

Comunque, ti potrei consigliare di fare così: mentre calcoli i divisori di ogni interruttore tramite un dizionario potresti tenere traccia del numero di volte che compaiono. Così eviti di fare due cicli "ripetitivi"
Adriano.Sapuppo (350 points)
0 6 8
commented Oct 23, 2018 by Adriano.Sapuppo (350 points)
Ciao, unico approccio a cui sono arrivato è quello scritto quindi con il conteggio dei divisori. Ma da tutte le parti mi dicono che è dispendioso in quanto devo utilizzare più cicli di controllo. Premesso che ai dizionari non ci sono ancora arrivato ma se necessario me li studio, se questa strada mi farà perdere tempo quindi dopo che ho sviluppato finalmente sto codice mi accorgo di aver perso tempo in quanto supero il secondo a test penserò di lanciare il PC dal 5° piano XD. Tu che strada hai intrapreso? Quello che mi frega a me è l'1 divisore di tutti e le lampadine già accese.