Vai al contenuto

Somma delle cifre 1

  • Senza categoria

2013-05: Small 1

Write a program that finds all the numbers less than 1000 that contain only digits that sum to 10, e.g. 55, 73, 137, but not 423.
How many are there?

2012-11: Math 1

Find all the numbers less than 1000, where the sum of the digits is 15, for example 96 or 177.
How many are there?
(…)

Scrivi un programma che trova tutti i numeri minori di 1000 la cui somma delle cifre sia uguale a 10 (15).
Quanti sono?

Soluzione

La somma delle cifre per i numeri minori di 100

For numero=1 to 99                     ' fino a 99...
   decine=Math.Floor(numero/10)        ' 1° cifra
   unità =Math.Remainder(numero, 10)   ' 2° cifra
   somma =unità+decine
   TextWindow.WriteLine(numero + ": " + somma)
EndFor

La somma delle cifre per i numeri minori di 1000

For numero=1 to 999                        ' fino a 999...
   centinaia=Math.Floor(numero/100)        ' 1° cifra
   x        =Math.Remainder(numero, 100)   ' 2* e 3° cifra...
   decine   =Math.Floor(x/10)              ' 2° cifra
   unità    =Math.Remainder(numero, 10)    ' 3° cifra
   somma    =unità+decine+centinaia
   TextWindow.WriteLine(numero + ": " + somma)
EndFor

I numeri con una certa somma delle cifre

magic_number=10   ' oppure 15

For numero=1 to 999
   centinaia=Math.Floor(numero/100)
   decine   =Math.Floor(Math.Remainder(numero, 100)/10)
   unità    =Math.Remainder(numero, 10)
   somma    =unità+decine+centinaia

   If(somma = magic_number) Then               ' se la somma è quella giusta...
      TextWindow.Write(numero + " ")
   EndIf
EndFor

Quanti sono?

magic_number=10   ' oppure 15
quanti      =0                                ' finora nessuno...

For numero=1 to 999
   centinaia=Math.Floor(numero/100)
   decine   =Math.Floor(Math.Remainder(numero, 100)/10)
   unità    =Math.Remainder(numero, 10)
   somma    =unità+decine+centinaia

   If(somma = magic_number) Then 
      TextWindow.Write(numero + " ")
      quanti=quanti+1                         ' uno in più
   EndIf
EndFor

TextWindow.WriteLine("")
TextWindow.WriteLine(quanti + " numeri!")     ' quanti sono?

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.