come faccio a partire dalle sequenze più piccole per trovare il modulo?

Light (5130 points)
24 169 229
asked Nov 9, 2020 in HW4 obbligatorio by Light (5,130 points)
penso di starci quasi perchè mi sembra che va bene il controllo biunivoco perchè passa test ma il problema è che devo trovare la frequenza piu piccola...io divido sempre in due e se non trovo corrispondenza divido per 3 e cosi via ma cosi non va perchè mi prende i multipli certe volte tipo mi prende 90 invece di 15...come faccio ad iniziare dalla piu grande divisione per farmi prendere le porzioni piu piccole?? oppure come faccio a dire "90 è più grande controlla se ci sta un periodo più piccolo"?
264 views

3 Answers

Best answer
AdSum (16290 points)
9 20 134
answered Nov 9, 2020 by AdSum (16,290 points)
selected Nov 9, 2020 by Light
Il ragionamento è "giusto" in se per se ma sbagliato per risolvere il problema a te proposto. Questo è ottimo per trovare il modulo PIU GRANDE. Tu necessiti del PIU PICCOLO. Sai che il modulo è >2 quindi comincia il controllo da li :)
Ci sei quasi, buon lavoro!
Light (5130 points)
24 169 229
commented Nov 9, 2020 by Light (5,130 points)
si ci sto provando ma il problema è che mi trova corrispondenze subito...perchè io vedo se una è sbagliata quando io avevo già trovato una corrispondenza...e lui non trovandomele mi dice "ah quella è una corrispondenza giusta" solo perchè ha valori diversi...non so come fare da qua
Light (5130 points)
24 169 229
commented Nov 9, 2020 by Light (5,130 points)
tipo [0, 1, 2, 3, 2, 4] questi sono i primi 6 elem del est 180, io parto da 3 e faccio slice quindi prendo [0,1,2] e gli ultimi 3 [3,2,4] lui mi dice 0->3, 1->2 e 2->4, ah non viola allora corrispondenza...
Light (5130 points)
24 169 229
commented Nov 9, 2020 by Light (5,130 points)
ma devo confrontare con tutta la lista? tipo la prima sequenza con le altre sequenze della lista?
AdSum (16290 points)
9 20 134
commented Nov 9, 2020 by AdSum (16,290 points)

ma devo confrontare con tutta la lista? tipo la prima sequenza con le altre sequenze della lista?

Esattamente

Light (5130 points)
24 169 229
commented Nov 9, 2020 by Light (5,130 points)
ecco perchè sbaglia hahaha ma come faccio però a scorrere cosi la lista prima 3 a 3 poi a 5 a 5? con le slice ma in che modo posso nadare avanti sposatndo sia inizio che fine?
AdSum (16290 points)
9 20 134
commented Nov 9, 2020 by AdSum (16,290 points)
I cicli sono tuoi amici :)
Light (5130 points)
24 169 229
commented Nov 9, 2020 by Light (5,130 points)
ho solo un'altro dubbio,va bene se confronto sempre la prima sequenza? o devo "spostare" sempre tutto quindi confronto di 2 a 2?
AdSum (16290 points)
9 20 134
commented Nov 9, 2020 by AdSum (16,290 points)
E' indifferente. Penso che lasciando la prima sequenza sia più efficiente (almeno io ho fatto cosi), nel caso scopri il contrario fammi sapere!
1
1914925 (3070 points)
1 4 23
answered Nov 9, 2020 by 1914925 (3,070 points)
edited Nov 9, 2020 by 1914925
Oltre a ciò che ha già detto AdSum, controlla anche che le sottoliste non siano vuote (inteso che non ci sono elementi che si ripetono), poiché due sottoliste vuote si eguagliano appunto, portandoti a possibili risultati fuorvianti
twgever (15190 points)
7 27 105
answered Nov 9, 2020 by twgever (15,190 points)
devi riuscire ad implementare una maniera per trovare tutti i divisori (così eviti di dividere per 2 o 3 a caso) a partire dal più piccolo. Secondo me l'operatore % ti può aiutare molto, restituisce il resto della divisione fra i due elementi.