23 lines
360 B
Text
23 lines
360 B
Text
clear screen
|
|
n = 0
|
|
FOR i = 1 TO 999999
|
|
IF FNkaprekar(i) THEN
|
|
n = n + 1
|
|
IF i < 100001 PRINT n, ": ", i
|
|
ENDIF
|
|
NEXT i
|
|
PRINT "Total Kaprekar numbers under 1,000,000 = ", n
|
|
END
|
|
|
|
sub FNkaprekar(n)
|
|
LOCAL s, t
|
|
|
|
s = n^2
|
|
t = 10^(INT(LOG(s)) + 1)
|
|
do
|
|
t=t/10
|
|
IF t<=n break
|
|
IF s-n = INT(s/t)*(t-1) return TRUE
|
|
loop
|
|
return (n=1)
|
|
end sub
|