|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2008
Messaggi: 243
|
[AutoIt/Php]Combinazioni possibili
Ciao a tutti, sto facendo un programma per il lotto. Ora so che 90 numeri danno origine a 4005 combinazioni di ambo. Come posso avere tutte le 4005 scritte numericamente? Vorrei praticamente una lista contenente tutte le 4005 combinazioni. Come posso fare?
Ciao!
__________________
>>IL MIO MERCATINO<< SUPER OFFERTE |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Con due clicli annidati (uno dentro l'altro)!
Codice:
for ($a = 1; b < 91 ; $a++) { for ($b = 1; b < 91; $b++) { if($a = $b) {} else {echo $a.' '.$b.'<br/>';} } } ![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2008
Messaggi: 243
|
Non funziona mi restituisce un numero maggiore di 7000, ma so per certo che le combinazioni sono 4005
![]() Ciao!
__________________
>>IL MIO MERCATINO<< SUPER OFFERTE |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Beh, per forza mi sono dimenticato di fare eliminare allo script le copie doppie.
![]() Comunque non è difficile da risolvere, puoi farlo tu stesso: crei un array ed ogni volta che trovi una coppia di numeri la salvi nell'array, ma prima di salvarla controlli che non sia già stata salvata precedentemente tenendo conto che la 1;2 sarà uguale a 2;1. Capito? Prova, poi se hai problemi pubblica il codice e ti daremo suggerimenti. Ultima modifica di Mattyfog : 01-11-2010 alle 16:58. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jul 2008
Messaggi: 243
|
Io ho questo codice :
Codice:
#include <File.au3> Global $a, $b For $a = 1 To 90 For $b = 1 To 90 If $a <> $b Then FileWrite ("C:\Numeri.txt",$a & "|" & $b & @CRLF) EndIf Next Next ![]()
__________________
>>IL MIO MERCATINO<< SUPER OFFERTE |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
Ti ho già detto come fare. Provaci almeno. Il meccanismo te l'ho spiegato, prova a scrivere il codice.
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jul 2008
Messaggi: 243
|
So anche aggiungere i dati che ho, invece che sul file sull'array ma poi? Non ho proseguito con la scrittura proprio perchè non so eliminare le coppie = anche se sono invertite (es. 1-2,2-1). Help
![]() Ciao :P
__________________
>>IL MIO MERCATINO<< SUPER OFFERTE |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 1426
|
In pratica prima di salvare una coppia controlla che non sia doppia cercando nell'array.
In pratica (mi è venuta ora in mente un'idea, provala Codice:
if(isset($array($a, $b)) | isset($array($b, $a))) {//non salvare la coppia perchè esiste già} else { $array($a,$b) = true;} |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2774
|
Puoi anche impostare i due cicli in modo che non creino due volte la stessa combinazione:
Codice:
for(i=1;i<=90;i++) for(j=i+1;j<=90;j++) //salvi la coppia i,j |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:32.