RosettaCodeData/Task/Pancake-numbers/FreeBASIC/pancake-numbers-1.basic

38 lines
666 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
Function pancake(n As Integer) As Integer
2025-02-27 18:35:13 -05:00
Dim As Integer gap, pg, gapsum, adj, temp
gap = 2
pg = 1
gapsum = gap
adj = -1
While gapsum < n
2023-07-01 11:58:00 -04:00
adj += 1
2025-02-27 18:35:13 -05:00
temp = gap
gap += pg
pg = temp
gapsum += gap
2023-07-01 11:58:00 -04:00
Wend
2025-02-27 18:35:13 -05:00
2023-07-01 11:58:00 -04:00
Return n + adj
End Function
2025-02-27 18:35:13 -05:00
' 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)
2023-07-01 11:58:00 -04:00
Next i
2025-02-27 18:35:13 -05:00
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
2023-07-01 11:58:00 -04:00
Sleep