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
    venerdì 01 agosto 2025
    Bari
    38
    02
    68
    33
    79
    Cagliari
    21
    78
    83
    22
    55
    Firenze
    63
    14
    72
    28
    16
    Genova
    21
    46
    17
    40
    39
    Milano
    49
    60
    17
    77
    63
    Napoli
    90
    05
    77
    74
    53
    Palermo
    16
    61
    43
    37
    90
    Roma
    40
    45
    27
    57
    32
    Torino
    62
    57
    26
    82
    61
    Venezia
    06
    46
    68
    32
    29
    Nazionale
    71
    36
    06
    32
    15
    Estrazione Simbolotto
    Nazionale
    30
    37
    17
    41
    08
Indietro
Alto