Novità

x LuigiB Richiesta Info

  • Creatore Discussione Creatore Discussione Roby
  • Data di inizio Data di inizio
R

Roby

Guest
Ciao LuigiB

vorrei chiederti una informazione: parliamo di Permutazioni.

sto provando quanto segue:

classe = 2
numeri o gruppi = 14
ottengo n.permutazioni = 182
okey

----------------------------------------------------

SE CHIEDO invece
classe = 2
numeri o gruppi = 15
ottengo invece un msg di errore = 6-Overflow

----------------------------------------------------

sai da cosa potrebbe dipendere? è un errore nel mio script? o c'è un limite di permutazioni?


solo per la classe = 2 ?

grazie per una eventuale risposta.
 
Ultima modifica:
Ciao LuigiB

vorrei chiederti una informazione: parliamo di Permutazioni.

sto provando quanto segue:

classe = 2
numeri o gruppi = 14
ottengo n.permutazioni = 182
okey

----------------------------------------------------

SE CHIEDO invece
classe = 2
numeri o gruppi = 15
ottengo invece un msg di errore = 6-Overflow

----------------------------------------------------

sai da cosa potrebbe dipendere? è un errore nel mio script? o c'è un limite di permutazioni?


solo per la classe = 2 ?

grazie per una eventuale risposta.



Il fatto è che le permutazioni generano un tale numero di combinazioni che il computer non è maco capace di calcolarle ...e va in overflow ovvero la variabile non è in grado di contenere il valore
che gli si vuole assegnare
ciao
 
Ma no, guarda che se chiedo

classe = 3
gruppi = 15

me li calcola tranquillamente

è solo per la classe = 2
 
il limite mi sembra stabilito a 15 gruppi

per la classe 3,4,5 funziona regolarmente

per la classe 2 va in overflow

così come se, si fa la scelta > dei 15 gruppi sopra indicati, vanno tutte in overflow.


questo è il semplice script

Codice:
Option Explicit
Sub Main
	Dim COLONNE,ClassE,T,SCOLONNA,K,J,X,NP
	Dim NUMERI(27)
	ClassE = 5
	For X = 1 To 15
	NUMERI(X) = X
	Next
	Scrivi " CLASSE " & ClassE
	Scrivi " ToT.gruppi o numeri..." & X-1

	COLONNE = SviluppoPermutazioni(NUMERI,ClassE)
	T = UBound(COLONNE)
	Scrivi " TOTALE PERMUTAZIONI CALCOLATE " & T,1
	
	For K = 1 To UBound(COLONNE)
		SCOLONNA = ""
		For J = 1 To ClassE
			SCOLONNA = SCOLONNA & Format2(COLONNE(K,J)) & " "
		Next
	Scrivi Format2(K) & "....." & SCOLONNA
	Next

End Sub


domanda: se per caso devi mettere mano a qualcosa, potresti fare in modo che 90 numeri / possano essere divisi per classe = 5 e

quindi in 18 gruppi????
e non fermarsi a 15 gruppi?????



quindi

COLONNE = SviluppoPermutazioni(numeri = 18,ClassE = 5) ?????
 
il limite mi sembra stabilito a 15 gruppi

per la classe 3,4,5 funziona regolarmente

per la classe 2 va in overflow

così come se, si fa la scelta > dei 15 gruppi sopra indicati, vanno tutte in overflow.


questo è il semplice script

Codice:
Option Explicit
Sub Main
	Dim COLONNE,ClassE,T,SCOLONNA,K,J,X,NP
	Dim NUMERI(27)
	ClassE = 5
	For X = 1 To 15
	NUMERI(X) = X
	Next
	Scrivi " CLASSE " & ClassE
	Scrivi " ToT.gruppi o numeri..." & X-1

	COLONNE = SviluppoPermutazioni(NUMERI,ClassE)
	T = UBound(COLONNE)
	Scrivi " TOTALE PERMUTAZIONI CALCOLATE " & T,1
	
	For K = 1 To UBound(COLONNE)
		SCOLONNA = ""
		For J = 1 To ClassE
			SCOLONNA = SCOLONNA & Format2(COLONNE(K,J)) & " "
		Next
	Scrivi Format2(K) & "....." & SCOLONNA
	Next

End Sub


domanda: se per caso devi mettere mano a qualcosa, potresti fare in modo che 90 numeri / possano essere divisi per classe = 5 e

quindi in 18 gruppi????
e non fermarsi a 15 gruppi?????



quindi

COLONNE = SviluppoPermutazioni(numeri = 18,ClassE = 5) ?????

non lo so devo vedere quante combinazioni sviluppano .. c'è il rischio che siano troppe ...
 
5.273.912.160 sono le permutazioni di classe 5 con 90 numeri , con 18 sono poco piu di un milione ...
se questo era qelllo che volevi
 
Ultima modifica di un moderatore:
ciao Luigib

penso che vada più che bene.

prova comunque che funzioni

la classe = 2 per il 18 gruppi = 306 permutazioni
classe = 2 306
classe = 3 4896
classe = 4 73440
classe = 5 1028160


salvo miei errori dovrebbero essere questi i valori.
 
Ultima modifica:
con la nuova versioen prova questo script che deriva da quelo che avevi fatto tu

Codice:
Option Explicit
Sub Main
	Dim COLONNE,Classe,T,SCOLONNA,K,J,X,NP
	Dim NUMERI(90)
	Classe = 3
	For X = 1 To 90
		NUMERI(X) = X
	Next
	Scrivi " CLASSE " & Classe
	Scrivi " ToT.gruppi o numeri..." & X - 1
	If MsgBox("Sviluppo in memoria (non adatto a sviluppi di combinazioni elevate) ?",vbQuestion + vbYesNo) = vbYes Then
		COLONNE = SviluppoPermutazioni(NUMERI,Classe)
		T = UBound(COLONNE)
		Scrivi " TOTALE PERMUTAZIONI CALCOLATE " & T,1
		For K = 1 To UBound(COLONNE)
			SCOLONNA = ""
			For J = 1 To Classe
				SCOLONNA = SCOLONNA & Format2(COLONNE(K,J)) & " "
			Next
			Scrivi Format2(K) & "....." & SCOLONNA
		Next
	Else
		T = InitSviluppoPermutazioni(NUMERI,Classe)
		Scrivi " TOTALE PERMUTAZIONI CALCOLATE " & T,1
		
		ReDim aColonna(0)
		Do While GetCombPermutazioni(aColonna)
			K = K + 1
			SCOLONNA = ""
			For J = 1 To Classe
				SCOLONNA = SCOLONNA & Format2(aColonna(J)) & " "
			Next
			Scrivi Format2(K) & "....." & SCOLONNA
			Call AvanzamentoElab( 1 , T , K)
			If ScriptInterrotto  Then Exit Do 
			DoEventsEx
			
		Loop
	End If
End Sub
 
Ultima modifica di un moderatore:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35

Ultimi Messaggi

Indietro
Alto