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
    sabato 12 aprile 2025
    Bari
    47
    07
    11
    43
    61
    Cagliari
    34
    14
    81
    89
    79
    Firenze
    81
    16
    28
    03
    21
    Genova
    85
    04
    45
    60
    29
    Milano
    69
    30
    06
    13
    55
    Napoli
    12
    03
    48
    31
    24
    Palermo
    48
    06
    68
    66
    28
    Roma
    69
    25
    09
    48
    86
    Torino
    29
    85
    52
    54
    62
    Venezia
    90
    61
    34
    79
    37
    Nazionale
    18
    14
    88
    10
    27
    Estrazione Simbolotto
    Genova
    39
    20
    02
    13
    26
Indietro
Alto