Idoneal numbers: Difference between revisions
Content added Content deleted
(Dialects of BASIC moved to the BASIC section.) |
(→{{header|Liberty BASIC}}: Added a solution.) |
||
Line 252: | Line 252: | ||
312 330 345 357 385 408 462 520 760 840 1320 1365 1848 |
312 330 345 357 385 408 462 520 760 840 1320 1365 1848 |
||
0.3645658493041992 ms per run</pre> |
0.3645658493041992 ms per run</pre> |
||
==={{header|Liberty BASIC}}=== |
|||
{{trans|XPL0}} |
|||
{{works with|Just BASIC}} |
|||
<syntaxhighlight lang="libertybasic"> |
|||
' Idoneal numbers |
|||
n = 1: c = 0 |
|||
do |
|||
if isIdoneal(n) then |
|||
print using("#####", n); |
|||
c = c + 1 |
|||
if c mod 13 = 0 then print |
|||
end if |
|||
n = n + 1 |
|||
loop until c >= 65 |
|||
print |
|||
end |
|||
function isIdoneal(n) |
|||
'Return -1 if n is an Idoneal number, 0 otherwise |
|||
for a = 1 to n |
|||
for b = a + 1 to n |
|||
ab = a * b |
|||
s = a + b |
|||
if ab + s > n then |
|||
b = n |
|||
else |
|||
for c = b + 1 to n |
|||
t = ab + c * s |
|||
if t = n then isIdoneal = 0: exit function |
|||
if t > n then c = n |
|||
next |
|||
end if |
|||
next b |
|||
next a |
|||
isIdoneal = -1 |
|||
end function |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1 2 3 4 5 6 7 8 9 10 12 13 15 |
|||
16 18 21 22 24 25 28 30 33 37 40 42 45 |
|||
48 57 58 60 70 72 78 85 88 93 102 105 112 |
|||
120 130 133 165 168 177 190 210 232 240 253 273 280 |
|||
312 330 345 357 385 408 462 520 760 840 1320 1365 1848 |
|||
</pre> |
|||
==={{header|Yabasic}}=== |
==={{header|Yabasic}}=== |