Novità

Piramide

Provaci con numero voluto e facendo i cicli fino al raggiungere un solo numero (fuori 10)

Ciao

Codice:
Sub Main
   Dim Num
   Num = 2233445566
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To 9
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & x & Space(x+16) & pir
   Next
End Sub

Numero da Piramidare : 2233445566
Ciclo 1 456789123
Ciclo 2 92468135
Ciclo 3 2615948
Ciclo 4 876543
Ciclo 5 64297
Ciclo 6 1627
Ciclo 7 789
Ciclo 8 68
Ciclo 9 5
 
La richiesta è un pochino strana.

Normalmente i lottologi si orientano al calcolo della figura.

Dunque utilizzano le cifre da 1 a 9 ed escludono di usare lo Zero del "10"

Ovvero il limite da NON eccedere e ricomprendere NON è il "10" ma è la figura del numero di 2 cifre (da 1 a 9).

Così dicendo, va bene lo script di Mike, che fa quanto richiesto.

In esso sarebbe opportuno attribuire allo script il compito di calcolare ed eseguire il numero,

di livelli congruo alla dimensione della piramide da esporre.

Altrimenti c'è il rischio di ottenere il risultato di una piramide tronca delle ultime cifre,

o che si presenta con una figura numerica al suo vertice che si ripete 2 o più volte.

Codice:
Sub Main
   Dim Num
   'Corto
   Num = 223344556677
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To 9
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & x & Space(x+16) & pir
   Next
   'Lungo
   Num = 223344
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To 9
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & x & Space(x+16) & pir
   Next
   'AutoDimensionato
   Num = 223344556677
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To Len (Num)-1
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & Format2 (x) & Space(x+15) & pir
   Next
End Sub

:)
 
La richiesta è un pochino strana.

Normalmente i lottologi si orientano al calcolo della figura.

Dunque utilizzano le cifre da 1 a 9 ed escludono di usare lo Zero del "10"

Ovvero il limite da NON eccedere e ricomprendere NON è il "10" ma è la figura del numero di 2 cifre (da 1 a 9).

Così dicendo, va bene lo script di Mike, che fa quanto richiesto.

In esso sarebbe opportuno attribuire allo script il compito di calcolare ed eseguire il numero,

di livelli congruo alla dimensione della piramide da esporre.

Altrimenti c'è il rischio di ottenere il risultato di una piramide tronca delle ultime cifre,

o che si presenta con una figura numerica al suo vertice che si ripete 2 o più volte.

Codice:
Sub Main
   Dim Num
   'Corto
   Num = 223344556677
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To 9
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & x & Space(x+16) & pir
   Next
   'Lungo
   Num = 223344
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To 9
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & x & Space(x+16) & pir
   Next
   'AutoDimensionato
   Num = 223344556677
   Scrivi "Numero da Piramidare : " & Num,1
   For x = 1 To Len (Num)-1
      pir = Piramide(Num,x,1)
      Scrivi "Ciclo " & Format2 (x) & Space(x+15) & pir
   Next
End Sub




Ciao Joe
Nel secondo ho messo To 5
 
Ciao , grazie , forse ho sbagliato a scrivere , faccio un esempio :

13673964 ----> 1 + 3 = 4 ---- 3 + 6 = 9 ---- 6 + 7 = 13 -10 = 3 ----7 + 3 =10 -10 = 0 ...
4930250 ----> 4 + 9 = 13 -10 = 3 ---- 9 + 3 = 12 - 10 = 2 ...
323275 ----> 7 + 5 = 12 -10 = 2
55592
0041
045
49

Ciao
 
Purtroppo il codice Piramide agisce con il fuori 9.
Bisogna trovare un escamotage.
Se trovo una qualche soluzione la posto.
Poi se Joe magari arriva prima ben venga la soluzione.

Ciao
 
Salvo la terza versione dello stesso script contenuto nell'esempio, è AutoDimensionante.

Finisce sempre la piramide con qualunque numero di cifre immesse.

Giustamente scrivi che "si chiude" con "Enne-1" cifre.

Essendo le cifre prese 2 a 2 ... le ultime sono X-1 ed X, quando X è la lunghezza, cioé il numero di caratteri.

Mike, l'istruzione specifica di Spaziometria è unica nel suo modo di operare,

mentre ognuno piramida a modo suo.

Dunque questo modus, che non mi sembra di ricordare di aver visto l'ho codificato così:

Codice:
Option Explicit
Sub Main
   Dim Num,Pir,X,N
   Num = InputBox("Es: 13673964","Piramide 'Fuori(10)' By Joe","13673964")
   Scrivi Num,1
   Do While Len(Num) > 2
      Pir = ""
      For X = 1 To Len(Num) - 1
         N = CInt(Mid(Num,X,1)) + CInt(Mid(Num,X + 1,1))
         If N >= 10 Then N = N - 10
         'Scrivi N
         Pir = Pir & CStr(N)
      Next
      Scrivi Pir
      Num = Pir
   Loop
End Sub

:)
 
Ciao Joe bravissimo!!
Grazie per la tua disponibilità e umiltà nel dimostrare quanto vali!
ciao, buona domenica,
micro
 
Vi ringrazio, tutti troppo buoni.

A dire la verità non è poi così perfetto perché essendo una riedizione degli script precedenti,

utilizza più variabili di quelle necessarie e quindi passibile di ulteriori miglioramenti.

Tuttavia penso che la sua utilità consista nel velocizzare delle procedure ed evitare errori.

Dunque quando funzionante, qualche centesimo di secondo in più o in meno,

o lo spreco di una piccolissima parte della memoria del PC, siano 'errori" trascurabili.

Però, ho voluto renderlo più versatile trasformandolo in "Funzione" (omonima a Piramide)

così da poterla aggiungere all'occorrenza in calce a qualsiasi script di cui si vogliano

valutare le differenze tra il modo più classico di costruire la piramide e questo.

:) Buona domenica a tute/i.

Codice:
Option Explicit
Sub Main
   Dim Num
   Num = InputBox("Es: 13673964","Piramide 'Fuori10' By Joe","13673964")
   Scrivi Num & " ==>> " & Piramide (Num)
End Sub
Function Piramide(Num)
   Dim X,N,Pir
     Do While Len(Num) > 2
      Pir = ""
      For X = 1 To Len(Num) - 1
         N = CInt(Mid(Num,X,1)) + CInt(Mid(Num,X + 1,1))
         If N >= 10 Then N = N - 10
         Pir = Pir & CStr(N)
      Next
         Num = Pir
   Loop
    Piramide = Pir
End Function
 
Buongiorno Joe,
grazie ancora, ti volevo dire che (ma non è un problema col f90) in un caso lo script mi ha dato un numero superiore a 90. -60-61-12-66-10
saluti,
micro
 
Ciao Micro, le "1000" cabale lottologiche, sono spesso dei codificatori perfetti.

Cioè dei risultati dai quali non si potrai MAI risalire ai dati con cui li si è generati.

Quando poi e per esempio si usa il Fuori90, 3 non è il risultato unico ed ottenibile con 1+2.

Ma è il risultato della somma di tutte le coppie / terne / quartine / cinquine e lunghette

che danno lo stesso risultato uguale a 3.

Dunque secondo me Fuori90 è una utility che andrebbe usata solo per semplificare i calcoli,

con ragione di causa e non per ottenere dei risultati a qualsiasi costo.

Anche perché gli estratti non essendo dei numeri o delle quantità, non dovrebbero essere sommati.

E ... quando sommati ... il risultato della loro somma non ha nulla a che vedere con i numeri di partenza.

E' tutt'altra cosa e come appena detto potrebbe essere il risultato di moltissimi altri calcoli differenti.

Tuttavia in assenza di esempi ed istruzioni ... "Fuori90" ... è una soluzione

normalmente accettata ed utilizzata copiosamente.

:)
 
Ringrazio, tutti.

E' naturalmente possibile estendere, con maggiore uniformità di calcolo,

il cosiddetto Fuori10 anche al vertice della Piramide.

In questo caso l'esempio postato da Micro darebbe ovviamente come risultato 84.

Codice:
Option Explicit
Sub Main
   Dim Num
   Num = InputBox("Es: 6061126610","Piramide 'Fuori10' By Joe","6061126610")
   Scrivi Num & " ==>> " & Piramide (Num) 

End Sub
Function Piramide(Num)
   Dim X,N,Pir
     Do While Len(Num) > 2
      Pir = ""
      For X = 1 To Len(Num) - 1
         N = CInt(Mid(Num,X,1)) + CInt(Mid(Num,X + 1,1))
         If N >= 10 Then N = N - 10
         Pir = Pir & CStr(N)
      Next
         Num = Pir
   Loop
    If Pir > 90 Then Pir = Pir-10 
    Piramide = Pir
End Function

:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 01 aprile 2025
    Bari
    60
    48
    59
    35
    50
    Cagliari
    42
    63
    88
    44
    90
    Firenze
    33
    65
    76
    01
    25
    Genova
    29
    82
    70
    19
    43
    Milano
    04
    73
    67
    22
    85
    Napoli
    65
    27
    10
    06
    66
    Palermo
    37
    13
    35
    79
    85
    Roma
    51
    14
    63
    71
    89
    Torino
    44
    04
    70
    82
    51
    Venezia
    61
    88
    27
    82
    66
    Nazionale
    15
    82
    14
    18
    32
    Estrazione Simbolotto
    Genova
    45
    13
    32
    14
    37
Indietro
Alto