RosettaCodeData/Task/Kaprekar-numbers/Yabasic/kaprekar-numbers.basic
2023-07-01 13:44:08 -04:00

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