Vai al contenuto

Decrescita programmata

Matematica Senza Frontiere – 10/2/2015

Annamaria si diverte con le successioni numeriche.
Sceglie un numero intero naturale come primo numero della successione; calcola il successivo moltiplicando tra loro le cifre del numero.
Procede analogamente con il numero ottenuto finché non ottiene un numero con una sola cifra.
Ad esempio, iniziando da 68, ottiene la successione di quattro numeri 68, 48, 32, 6.

Quale numero intero naturale inferiore a 100 comporta, seguendo il procedimento descritto, la successione più lunga?

La sequenza per un numero

num=68

TextWindow.Write(num + ": ")
While(num >= 10)
   dd =Math.Floor(num/10)
   uu =Math.Remainder(num,10)
   num=dd*uu
   TextWindow.Write(num + " ")
EndWhile

Genera tutte le sequenze e visualizza il numero con quella più lunga

SOLUZIONE=0
LUNGHEZZA=0
For i=1 To 99
   num=i
   LUN=1
   While(num >= 10)
      dd =Math.Floor(num/10)
      uu =Math.Remainder(num,10)
      num=dd*uu
      LUN=LUN+1
   EndWhile
   If(LUN > LUNGHEZZA) Then
      SOLUZIONE=i
      LUNGHEZZA=LUN
   EndIf
EndFor

TextWindow.WriteLine("Il numero " + SOLUZIONE + " ha lunghezza " + LUNGHEZZA)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.