Newsgroup: it.comp.lang.c++
Titolo: per il mitico Poletti

un saluto da un tuo collega di università.
firmato "kappa cartesiano Jay" (ti ricordi la disputa con gli spazi
vettoriali con Bishara?)
p.s. quant'è piccolo il mondo!

Heilà! Presumo che B...@BLA.it non sia il tuo vero indirizzo di posta
elettronica... o si?
Un saluto,
        Flavio.
--
Flavio Poletti
e-mail:   
pol...@writeme.com
web page: 
http://poletti.freeweb.org/
La libertà [americana] è lì, alla portata di tutti...
     ... come la chitarra ....
... ognuno suona come vuole ...
     ... e tutti suonano come vuole la libertà!
                                  (G. Gaber)

Salve ingegneri!
Siccome mi è venuta una grande passione per la programmazione in c++, vorrei
realizzare il mio primo e vero programma, che consisterebbe in questo.
Scelgo 24 numeri dei 90 del gioco del lotto.
Ora con questi 24 numeri scelgo le mie x fisse.
Quale è la formula matematica ( o l'algoritmo) che fa ruotare le mie x fisse
nel mio sottoinzieme (i 24 numeri scelti in precedenza), poi mi visualizzi e
mi calcoli il totale delle colonne sviluppate?
Grazie a tutti:)))))
N B
Non voglio che mi scriviate il codice del programma ma solo una formula o
consiglio su come risolvere il problema altrimenti mia madre che mi ha
chiesto il programmino mi caccia di casa:((((





...


non sei molto chiaro, le fisse sono fisse non ruotano, casomai i 6-x numeri
variano.
comunque credo tu ti riferisca al problema di prendere n numeri da un
insieme di k numeri, dunque le possibili combinazioni sono in numero di:
k!/(k-n)!*n! (se non ricordo male)        dove l'operatore ! è il
fattoriale, così definito: n! = 1*2*3*...*(n-2)*(n-1)*n    (es. 4!=1*2*3*4)
dove per convenzione 0!=1
l'algoritmo è semplice: imposti le x fisse, i rimanenti 6-x (nella
fattispecie 6-x=n e k=24)li vari così:
(pseudo codice)
for i = 1 to 24
    5°=a[i]
    for j= i+1 to 24
        6°=a[j]
        // aggiungi la giocata con le x fisse, il 5° e 6° numero alla lista
delle giocate
delle giocate
spero di essere stato almeno un po' chiaro, comunque conviene giocare a caso
piuttosto che con un metodo simile...a mio modestissimo parere...
Spero che mamma negriera sia contenta...povero figlio! :)
Ciao!


...


mi calcoli il totale delle colonne sviluppate?
Non sono sicurissimo di cosa siano queste "x fisse", ma
suppongo che si tratti del problema di "estrarre x numeri
fra 24" in tutti i modi possibili, ovvero, enumerare tutte
le *combinazioni* di x elementi su 24 (combinazioni se
non interessa l'ordine; se no, sarebbero permutazioni).
Supponiamo allora che il problema sia: stampare tutte le
combinazioni di N fra 24 numeri.
Con un passo recursivo, possiamo dire che il problema
sarebbe gia`risolto se sapessimo risolverlo per N-1 numeri
su di un insieme arbitrario - pseudocodice, avendo i 24
numeri come 24 elementi di un array:
per: stampare le combinazioni di N numeri fra il 1o e il 24o,
        ognuna preceduta da nulla:
            variando i da 1 a 24-N+1,
                stampa le combinazioni di N-1 numeri fra l'i+1-esimo
                e il 24o, ognuna preceduta dall'i-esimo numero
Per interrompere la recursione, bisogna scegliere un
argomento N (normalmente si usera` zero o 1) per
il quale si segue una via diversa, non recursiva; ad
esempio, scegliendo 0, basta dire che "per stampare
ecc", se N vale 0, allora semplicemente "stampare
la ``parte che precede''", se no, vedi sopra.
Spero che queste indicazioni ti bastino, se no, facci
sapere (qui, please, NON nella mia mailbox!) e non
sara` un problema fornirti codice piu` C++-like!-)
Alex

>mi calcoli il totale delle colonne sviluppate?


Ovviamente,
ti ringrazio per la correzione e mi scuso con tutti coloro che hanno letto
il messaggio.
Saluti.
Andrea C.

...
