Rare numbers: Difference between revisions

Content added Content deleted
(→‎{{header|J}}: spacing)
(Rare numbers en FreeBASIC)
Line 1,243: Line 1,243:
Elapsed Time: 11275839 ms for length 17
Elapsed Time: 11275839 ms for length 17
</pre>
</pre>


=={{header|FreeBASIC}}==
About 16.5 minutes to find the first 5 rare numbers
{{trans|Phix}}
<lang freebasic>#include "string.bi"
#define floor(x) ((x*2.0-0.5) Shr 1)
#define remainder(n, m) (n-m*Int(n/m))

Function revn(n As Integer, nd As Integer) As Integer
Dim As Integer r = 0
For i As Integer = 1 To nd
r = r * 10 + remainder(n, 10)
n = floor(n/10)
Next i
Return r
End Function

Dim As Integer nd = 2, count = 0, lim = 99, n = 9

Do
n += 1
Dim As Integer r = revn(n,nd)
If r < n Then
Dim As Integer s = n+r, d = n-r
If s = (floor(Sqr(s)) ^ 2) And d = (floor(Sqr(d)) ^ 2) Then
count += 1
Print count; ":"; n
If count = 5 Then Exit Do : End If
End If
End If
If n = lim Then
lim = lim * 10 + 9
nd += 1
End If
Loop
Sleep</lang>



=={{header|Go}}==
=={{header|Go}}==