RosettaCodeData/Task/Pancake-numbers/FreeBASIC/pancake-numbers-1.basic
2025-08-11 18:05:26 -07:00

37 lines
666 B
Text

Function pancake(n As Integer) As Integer
Dim As Integer gap, pg, gapsum, adj, temp
gap = 2
pg = 1
gapsum = gap
adj = -1
While gapsum < n
adj += 1
temp = gap
gap += pg
pg = temp
gapsum += gap
Wend
Return n + adj
End Function
' Main program
Dim As Integer numbers(1 To 20), results(1 To 20)
Dim As Integer i, row, col, idx
' Generate sequence 1 to 20
For i = 1 To 20
numbers(i) = i
results(i) = pancake(i)
Next i
For row = 0 To 3
For col = 1 To 5
idx = row * 5 + col
Print Using "p(##) = ## "; numbers(idx); results(idx);
Next col
Print
Next row
Sleep