Coprime triplets: Difference between revisions

Content added Content deleted
(→‎{{header|Wren}}: More general.)
(add FreeBASIC)
Line 6: Line 6:
<br> Let '''p, q < 50'''
<br> Let '''p, q < 50'''
<br><br>
<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}}==
=={{header|Phix}}==