Vai al contenuto

Edizione IX – Problema 2

  • di

Numeri Trini

Un numero intero si dice trino se è divisibile per 3.
Se n è trino, n+1 si dice strino e n+2 distrino.

Si scriva un programma che, dato in input un numero decimale, lasci sul nastro una delle tre stringhe TRINO, STRINODISTRINO a seconda dei casi.

NASTRO INIZIALENASTRO FINALE
3TRINO
5DISTRINO
82STRINO
0TRINO

Algoritmo #1

ix0201

  1. A seconda della cifra letta passa attraverso gli stati 0, 10, 20
  2. Quando l’input finisce scrive la risposta corrispondente allo stato in cui si trova
Codice #1Commenti
(0,[0369],0 ,-,>)n Mod 3 = 0
(0,[147] ,10,-,>)
(0,[258] ,20,-,>)
(0,-,1,T,>)Scrive TRINO
(1,-,2,R,>)
(2,-,3,I,>)
(3,-,4,N,>)
(4,-,H,O,>)
(10,[0369],10,-,>)n Mod 3 = 1
(10,[147] ,20,-,>)
(10,[258] ,0 ,-,>)
(10,-,11,S,>)Scrive STRINO
(11,-,12,T,>)
(12,-,13,R,>)
(13,-,14,I,>)
(14,-,15,N,>)
(15,-,H ,O,>)
(20,[0369],20,-,>)n Mod 3 = 2
(20,[147] ,0 ,-,>)
(20,[258] ,10,-,>)
(20,-,21,B,>)Scrive DISTRINO
(21,-,22,I,>)
(22,-,23,S,>)
(23,-,24,T,>)
(24,-,25,R,>)
(25,-,26,I,>)
(26,-,27,N,>)
(27,-,H ,O,>)

Algoritmo #2

ix0202

  • Come prima ma scrive la risposta a pezzi DISTRINO per risparmiare stati e quintuple
Codice #2
(0,[0369],0 ,-,>) n Mod 3 = 0
(0,[147] ,10,-,>)
(0,[258] ,20,-,>)
(0,-,1,T,>) Scrive TRINO
(1,-,2,R,>)
(2,-,3,I,>)
(3,-,4,N,>)
(4,-,H,O,>)
(10,[0369],10,-,>) n Mod 3 = 1
(10,[147] ,20,-,>)
(10,[258] ,0 ,-,>)
(10,-,0,S,>) Scrive STRINO
(20,[0369],20,-,>) n Mod 3 = 2
(20,[147] ,0 ,-,>)
(20,[258] ,10,-,>) Scrive DISTRINO
(20,-,21,D,>)
(21,-,10,I,>)

Lascia un commento

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