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
    martedì 16 settembre 2025
    Bari
    26
    29
    18
    10
    69
    Cagliari
    28
    35
    57
    44
    17
    Firenze
    19
    29
    49
    15
    17
    Genova
    23
    37
    13
    90
    58
    Milano
    33
    84
    76
    24
    79
    Napoli
    78
    15
    03
    24
    56
    Palermo
    80
    24
    41
    08
    75
    Roma
    55
    62
    83
    34
    69
    Torino
    27
    80
    69
    51
    84
    Venezia
    89
    74
    72
    82
    21
    Nazionale
    45
    20
    85
    33
    67
    Estrazione Simbolotto
    Palermo
    21
    19
    27
    36
    18
Indietro
Alto