Advertisement
chaotic_iak

TIS-100 specification: FIZZBUZZ ARBITRARY

Jun 27th, 2016
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.91 KB | None | 0 0
  1. function get_name()
  2.   return "FIZZBUZZ ARBITRARY"
  3. end
  4.  
  5. function get_description()
  6.   return {
  7.     "READ NUMBER N FROM IN",
  8.     "WRITE N+1 TO N+39 TO OUT, BUT",
  9.     "IF MULTIPLE OF 3, REPLACE BY -1",
  10.     "IF MULTIPLE OF 5, REPLACE BY -2",
  11.     "IF BOTH, REPLACE BY -3",
  12.   }
  13. end
  14.  
  15. function get_streams()
  16.   input = {math.random(0, 960)}
  17.   output = {}
  18.  
  19.   for i = 1, 39 do
  20.     number = input[1] + i
  21.     answer = number
  22.     if number % 3 == 0 then answer = -1 end
  23.     if number % 5 == 0 then answer = -2 end
  24.     if number % 15 == 0 then answer = -3 end
  25.     output[i] = answer
  26.   end
  27.  
  28.   return {
  29.     {STREAM_INPUT, "IN", 1, input},
  30.     {STREAM_OUTPUT, "OUT", 1, output},
  31.   }
  32. end
  33.  
  34. function get_layout()
  35.   return {
  36.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  37.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  38.     TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE, TILE_COMPUTE,
  39.   }
  40. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement