21 lines
463 B
Text
21 lines
463 B
Text
*FLOAT 64
|
|
n% = 0
|
|
FOR i% = 1 TO 999999
|
|
IF FNkaprekar(i%) THEN
|
|
n% += 1
|
|
IF i% < 100001PRINT ; n% ":", i%
|
|
ENDIF
|
|
NEXT
|
|
PRINT "Total Kaprekar numbers under 1,000,000 = "; n%
|
|
END
|
|
|
|
DEF FNkaprekar(n)
|
|
LOCAL s, t
|
|
s = n^2
|
|
t = 10^(INT(LOG(s)) + 1)
|
|
REPEAT
|
|
t /= 10
|
|
IF t<=n EXIT REPEAT
|
|
IF s-n = INT(s/t)*(t-1) THEN = TRUE
|
|
UNTIL FALSE
|
|
= (n=1)
|