Fizzbuzz
This commit is contained in:
50
examples/fizzbuzz.mga
Normal file
50
examples/fizzbuzz.mga
Normal file
@ -0,0 +1,50 @@
|
||||
#Fizzbuzz
|
||||
INT n
|
||||
INT i
|
||||
INT nfizz
|
||||
INT nbuzz
|
||||
INT modfizz
|
||||
INT modbuzz
|
||||
|
||||
SET n 0
|
||||
SET nfizz 3
|
||||
SET nbuzz 5
|
||||
SET modfizz 0
|
||||
SET modbuzz 0
|
||||
SET i 0
|
||||
|
||||
IN INT n How many?\n
|
||||
|
||||
:loop
|
||||
OUT \n
|
||||
|
||||
MOD i nfizz modfizz
|
||||
JE fizzdo modfizz 0
|
||||
:fizzdone
|
||||
|
||||
MOD i nbuzz modbuzz
|
||||
JE buzzdo modbuzz 0
|
||||
:buzzdone
|
||||
|
||||
INC i 1
|
||||
|
||||
JE loop modbuzz 0
|
||||
JE loop modfizz 0
|
||||
|
||||
DEC i 1
|
||||
OUT $i$
|
||||
INC i 1
|
||||
|
||||
JL loop i n
|
||||
OUT \n
|
||||
END
|
||||
|
||||
:fizzdo
|
||||
OUT fizz
|
||||
JMP fizzdone
|
||||
|
||||
:buzzdo
|
||||
OUT buzz
|
||||
JMP buzzdone
|
||||
|
||||
|
@ -5,14 +5,19 @@ INT te
|
||||
IN INT tot numero massimo
|
||||
SET n 1
|
||||
:scn
|
||||
SET j 1
|
||||
OUT $n$\n
|
||||
:sieve
|
||||
MOD n j te
|
||||
OUT j: $j$ \n
|
||||
OUT te: $te$ \n
|
||||
INC j
|
||||
JME scn j n
|
||||
JM sieve te 0
|
||||
INC n
|
||||
SET j 2
|
||||
OUT $n$\n
|
||||
:sieve
|
||||
MOD n j te
|
||||
#OUT \n- $te$ -\n
|
||||
JME scr j n
|
||||
INC j 1
|
||||
JM sieve te 0
|
||||
INC n
|
||||
JLE scn n tot
|
||||
END
|
||||
:scr
|
||||
#OUT $j$ sas\n
|
||||
SET j 2
|
||||
INC n
|
||||
JMP sieve
|
||||
|
Reference in New Issue
Block a user