Rare numbers: Difference between revisions

Rare numbers en FreeBASIC
(→‎{{header|J}}: spacing)
(Rare numbers en FreeBASIC)
Line 1,243:
Elapsed Time: 11275839 ms for length 17
</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}}==
2,122

edits