Coprime triplets: Difference between revisions

add FreeBASIC
(→‎{{header|Wren}}: More general.)
(add FreeBASIC)
Line 6:
<br> Let '''p, q < 50'''
<br><br>
 
=={{header|FreeBASIC}}==
<lang freebasic>function gcd( a as uinteger, b as uinteger ) as uinteger
if b = 0 then return a
return gcd( b, a mod b )
end function
 
function num_in_array( array() as integer, num as integer ) as boolean
for i as uinteger = 1 to ubound(array)
if array(i) = num then return true
next i
return false
end function
 
redim as integer trips(1 to 2)
trips(1) = 1 : trips(2) = 2
dim as integer last
 
do
last = ubound(trips)
for q as integer = 1 to 49
if not num_in_array( trips(), q ) _
andalso gcd(q, trips(last)) = 1 _
andalso gcd(q, trips(last-1)) = 1 then
redim preserve as integer trips( 1 to last+1 )
trips(last+1) = q
continue do
end if
next q
exit do
loop
 
print using "Found ## terms:"; ubound(trips)
 
for i as integer = 1 to last
print trips(i);" ";
next i : print</lang>
{{out}}
<pre>
Found 36 terms:
1 2 3 5 4 7 9 8 11 13 6 17 19 10 21 23 16 15 29 14 25 27 22 31 35 12 37 41 18 43 47 20 33 49 26 45
</pre>
 
=={{header|Phix}}==
781

edits