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 29 marzo 2025
    Bari
    07
    78
    26
    37
    31
    Cagliari
    77
    63
    56
    52
    09
    Firenze
    51
    38
    34
    43
    63
    Genova
    55
    81
    24
    75
    57
    Milano
    87
    51
    86
    10
    21
    Napoli
    69
    15
    14
    61
    66
    Palermo
    06
    81
    31
    72
    13
    Roma
    25
    37
    90
    30
    40
    Torino
    90
    08
    13
    76
    54
    Venezia
    36
    64
    13
    15
    66
    Nazionale
    09
    85
    39
    13
    88
    Estrazione Simbolotto
    Firenze
    34
    40
    02
    14
    44

Ultimi Messaggi

Indietro
Alto