allora oggetto:
parliamo di Matrici di Somma (x) a scelta da 01:90
esistono due modi che conosciamo e che ci interessano
1° forma semplice (rubino)
2° forma diversa(AM)
parliamo di forma semplice
1° Elaboriamo un loop per calcolare i 4005 ambi
facciamo due for...next ed è subito fatto
al loro interno facciamo la somma dei due numeri o (A e B) -
usiamo discrezione l fuori90(A+B) per quando supererà la somma il valore di 90
se questa somma corrisponderà al valore da noi ricercato
decidiamo di fare una lista dell'ambo o degli ambi con la somma da noi richiesta.
mettiamo un piccolo contatore che conta quanti hanno la somma richiesta che stamperemo in fondo
come totale complessivo dell'elaborazione.
troveremo che per qualsiasi somma richiesta dispari avremo un elenco di 45 ambi
troveremo che per qualsiasi somma richiesta pari avremo un elenco di 44 ambi.
come si metteno dentro in una matrice questi 45 ambi?
se vogliamo 5 ambi per riga, avremo 9 righe totali (5*9) = 45 caselle della matrice
ma come facciamo?
si possono mettere come si vuole
il modo più semplice è:
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
ogni ambo che listiamo avrà un contatore che lo legherà alla posizione della matrice.
ora la condizione matematica è questa, che se nella cinquina estratta usciranno 2 numeri con somma (x) da noi richiesta
si avrà la certezza matematica (orizzontale) dell' ambo al 100%
--------------------------
a questo punto c'è la segnalazione delle somme Pari, dove si ottengono 44 ambi e non 45, quindi come o cosa metteremo nella
casella 45?
c'è una formuletta da applica per le somme pari, che dice
esempio : richiedo somma 32, voglio tutti gli ambi che hanno tale somma e li voglio anche mettere nella matrice 5*9
non esistendo l'ambo 32 / 32
la formuletta dice 32/2 = 16 primo numero, mancante nell'elenco 16+45 diametrale = 61, quindi abbiamo recuperato il 45
elemento da mettere nella casella della matrice rimasta scoperta.
ma non centra nulla con la somma 32? è vero, ma una forzatura va fatta perchè tutte le riduzione nel campo dei giochi non
corrispondono sempre all'esatte disposizioni matematiche.
ciò non toglie che tutti gli ambi con somma 32 sono rappresentati nella matrice al 100%
, sono 44, sono tutti scritti in orizzontale.
Codice:
Option Explicit
Sub Main
ColoreTesto(2)
Scrivi " Script name (Rubino) Ambi di Somma e ricomposizione in matrice rettangolare 5*9 ",1
ColoreTesto(0)
Dim a,b,c,conta,p1,p2,j,dis
Dim disposizioni(46),Linea(9,5)
dis = CInt(InputBox("Somma richiesta",,69))
If pari(dis) Then
disposizioni(46) = "3-5"
End If
'''
disposizioni(1) = "1-1"
disposizioni(34) = "1-2"
disposizioni(22) = "1-3"
disposizioni(17) = "1-4"
disposizioni(10) = "1-5"
disposizioni(2) = "2-1"
disposizioni(33) = "2-2"
disposizioni(24) = "2-3"
disposizioni(19) = "2-4"
disposizioni(20) = "2-5"
disposizioni(3) = "3-1"
disposizioni(31) = "3-2"
disposizioni(25) = "3-3"
disposizioni(12) = "3-4"
disposizioni(45) = "3-5"
disposizioni(4) = "4-1"
disposizioni(32) = "4-2"
disposizioni(27) = "4-3"
disposizioni(11) = "4-4"
disposizioni(44) = "4-5"
disposizioni(5) = "5-1"
disposizioni(36) = "5-2"
disposizioni(28) = "5-3"
disposizioni(13) = "5-4"
disposizioni(41) = "5-5"
disposizioni(6) = "6-1"
disposizioni(35) = "6-2"
disposizioni(29) = "6-3"
disposizioni(16) = "6-4"
disposizioni(42) = "6-5"
disposizioni(7) = "7-1"
disposizioni(39) = "7-2"
disposizioni(26) = "7-3"
disposizioni(18) = "7-4"
disposizioni(43) = "7-5"
disposizioni(8) = "8-1"
disposizioni(37) = "8-2"
disposizioni(21) = "8-3"
disposizioni(14) = "8-4"
disposizioni(30) = "8-5"
disposizioni(9) = "9-1"
disposizioni(38) = "9-2"
disposizioni(23) = "9-3"
disposizioni(15) = "9-4"
disposizioni(40) = "9-5"
'''
For a = 1 To 89
For b = a + 1 To 90
c = Fuori90(a + b)
If c = dis Then
conta = conta + 1
Scrivi Format2(conta) & " Somma.." & c & "...." & Format2(a) & " " & Format2(b)
p1 = Left(disposizioni(conta),1) : p2 = Right(disposizioni(conta),1)
Linea(p1,p2) = Linea(p1,p2) & Format2(a) & " " & Format2(b)
If pari(dis) Then Linea(3,5) = Format2(dis/2) & " " & Format2(dis/2 + 45)
End If
Next
Next
Scrivi "Totale..." & conta
ColoreTesto(2)
Scrivi:Scrivi "Riepilogo ",1
Scrivi "Somma richiesta..." & dis & " se la somma richiesta è pari...controllare il numero perchè mancante la metà della somma",1
Scrivi "Rifletti: non esiste l'ambo " & dis & "." & dis & ", che verrà sostituito dalla formuletta metà dell dist.richiesta + 45 diametrale ",1
ColoreTesto(1)
If pari(dis) Then Scrivi "Esempio: è stato chiesto......" & dis & " verificare nella (3) Decina In ( 5 Pos.) questo Ambo ..." & Format2(dis/2) & " " & dis/2 + 45,1
ColoreTesto(0)
Scrivi
ColoreTesto(0)
For j = 1 To 9
Scrivi Linea(j,1) & " " & Linea(j,2) & " " & Linea(j,3) & " " & Linea(j,4) & " " & Linea(j,5),1
Next
End Sub