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 |
Diagramma di stato #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
(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,>) | |
Diagramma di stato #2

- Come prima, ma scrive la risposta a pezzi DI–S–TRINO per risparmiare stati e quintuple
(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 S-TRINO |
(20,[0369],20,-,>) | n Mod 3 = 2 |
(20,[147],0,-,>) | |
(20,[258],10,-,>) | Scrive DI-S-TRINO |
(20,-,21,D,>) | |
(21,-,10,I,>) | |