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, STRINO o DISTRINO a seconda dei casi.
NASTRO INIZIALE | NASTRO FINALE |
---|
3 | TRINO |
---|
5 | DISTRINO |
---|
82 | STRINO |
---|
0 | TRINO |
---|
Algoritmo #1
- A seconda della cifra letta passa attraverso gli stati 0, 10, 20
- Quando l’input finisce scrive la risposta corrispondente allo stato in cui si trova
Codice #1 | Commenti |
---|
(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
- Come prima ma scrive la risposta a pezzi DI–S–TRINO per risparmiare stati e quintuple
Codice #2 | Commenti |
---|
(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,-,>) | |
(20,-,21,D,>) | Scrive DISTRINO |
(21,-,10,I,>) | |