Floyd's triangle: Difference between revisions

fixed Arturo solution
(Added Chipmunk Basic, GW-BASIC and MSX Basic)
(fixed Arturo solution)
Line 1,240:
 
=={{header|Arturo}}==
 
{{incorrect|Arturo|The last line should only have one space between values}}
<syntaxhighlight lang="rebol">floydwidth: function [rowcountrows col] .memoize [
floor 2 + log col + 1 + (rows * rows - 1) / 2 10
result: new [[1]]
]
while [rowcount > size result][
 
n: inc last last result
floyd: function [rows][
row: new []
fn: floyd j1
loop n..n+size last result 'k -> 'row ++ @[k]
row: new []1
'result ++ @[row]
printcol: ""0
while -> row =< rows [
prints pad ~"|n|" width rows col
inc 'col
inc 'n
'resultif ++col = @[row] [
print ""
col: 0
inc 'row
]
]
return result
]
 
floyd 5
loop [5 14] 'j [
print ""
f: floyd j
]floyd 14</syntaxhighlight>
loop f 'row -> print map row 'r [pad to :string r 3]
print ""
]</syntaxhighlight>
 
{{out}}
 
<pre> 1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
 
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 44 45
46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66
67 68 69 70 71 72 73 74 75 76 77 78
79 80 81 82 83 84 85 86 87 88 89 90 91
92 93 94 95 96 97 98 99 100 101 102 103 104 105</pre>
 
=={{header|AutoHotkey}}==
1,532

edits