Ybadoo - Soluções em Software Livre
Turmas
2º Semestre de 2025

Desenvolva um programa em Simpletron Machine Language, que verifique se o número fornecido pelo usuário é um número perfeito. Um número é considerado perfeito se a soma de seus divisores próprios é igual ao próprio número, como por exemplo o número 6, cuja soma de seus divisores próprios (1 + 2 + 3) é igual a 6. Caso o número seja considerado perfeito, o programa deverá retornar 1, caso contrário, deverá retornar 0. Caso o número fornecido pelo usuário seja menor do que 2, o programa deverá retornar -1.

Programa em Simpletron Machine Language que verifique se o número fornecido pelo usuário é um número perfeito
PosiçãoPalavraInstrução
00+1029read N
01+2029load N
02+3128subtract 1
03+4126branch negative to 26
04+4226branch zero to 26
05+2029load N
06+3130subtract I
07+4219branch zero to 19
08+2029load N
09+3430module I
10+4212branch zero to 12
11+4015branch to 15
12+2031load S
13+3030add I
14+2131store S
15+2030load I
16+3028add 1
17+2130store I
18+4005branch to 05
19+2031load S
20+3129subtract N
21+4224branch zero to 24
22+1133write 0
23+4300halt
24+1128write 1
25+4300halt
26+1132write -1
27+4300halt
28+0001constant 1
29+0000variable N
30+0002variable I
31+0001variable S
32-0001constant -1
33+0000constant 0
Welcome to Simpletron!