ecco un bel problema che mi si è posto mentre lavoravo sulle combinazioni...
un programma del genere
stampa tutte le combinazioni possibili dell'alfabeto.
e qui arriva il problema:
se io voglio stampare tutto le combinazioni dell'alfabeto a una lettera (praticamente l'alfabeto) devo generare 26 combinazioni. nulla di strano.
se devo generare tutte le combinazioni di una lettera E di due lettere
devo generare 702 numeri.
quindi, mi sono chiesto, la serie 26 - 702- etc... come posso trovare una regola per svilupparla ?
e con un po di intuizioni e lavoro carta-e-penna ho trovato la soluzione. anzi, due.
dato "p" come numero di elementi nell'alfabeto (in questo caso 26) le due serie X e Y (identiche) si possono generare come segue:
queste serie sono identiche. dimostrandolo per prove, con un programma del genere:
si vede come i risultati, a prescindere da "p" siano identici.
il problema sta nella dimostrazione matematica che le serie siano identiche. in teoria basterebbe sviluppare questa equazione fino a raggiungere un risultato tipo 1=1
ma in pratica non riesco a svilupparla
nessun aiutino ? :conigliomg:
un programma del genere
Codice:
#!/usr/bin/perl -w
print "Quante iterazioni? ";
$iterations = <>;
for ($seed = "a", $c=0; $c<$iterations; $c++, $seed++){
print $seed . "\n";
}
stampa tutte le combinazioni possibili dell'alfabeto.
e qui arriva il problema:
se io voglio stampare tutto le combinazioni dell'alfabeto a una lettera (praticamente l'alfabeto) devo generare 26 combinazioni. nulla di strano.
se devo generare tutte le combinazioni di una lettera E di due lettere
devo generare 702 numeri.
quindi, mi sono chiesto, la serie 26 - 702- etc... come posso trovare una regola per svilupparla ?
e con un po di intuizioni e lavoro carta-e-penna ho trovato la soluzione. anzi, due.
dato "p" come numero di elementi nell'alfabeto (in questo caso 26) le due serie X e Y (identiche) si possono generare come segue:
Codice:
X_(i+1) = p * (X_i + 1)
Y_(i+1) = (p ^ i) + Y_(i-1)
Codice:
$p = #inserire valore
@X = (0);
@Y = (0);
for $i (1..100) {
$uno = $p*($X[$i-1]+1);
$due = ($p**$i)+$Y[$i-1];
push @X,$uno;
push @Y,$due;
print "$uno - $due\n";
}
il problema sta nella dimostrazione matematica che le serie siano identiche. in teoria basterebbe sviluppare questa equazione fino a raggiungere un risultato tipo 1=1
Codice:
p * (X_i + 1) = (p ^ i) + X_(i-1)
ma in pratica non riesco a svilupparla
nessun aiutino ? :conigliomg: