32 lines
609 B
Plaintext
32 lines
609 B
Plaintext
OpenConsole()
|
|
Procedure sum_square_digits(n)
|
|
num=n : sum=0
|
|
While num>0
|
|
digit=num%10
|
|
num=(num-digit)/10
|
|
sum+ digit*digit
|
|
Wend
|
|
ProcedureReturn sum
|
|
EndProcedure
|
|
|
|
Procedure main()
|
|
i=0 : result=0 : count=0
|
|
For i=1 To 1e8
|
|
If Not i=1 Or Not i=89
|
|
result=sum_square_digits(i)
|
|
Else
|
|
result=i
|
|
EndIf
|
|
While Not result=1 And Not result=89
|
|
result=sum_square_digits(result)
|
|
Wend
|
|
If result=89 : count+1 : EndIf
|
|
Next
|
|
PrintN(Str(count))
|
|
EndProcedure
|
|
|
|
start=ElapsedMilliseconds()
|
|
main()
|
|
Print("elapsed milliseconds: "+Str(ElapsedMilliseconds()-start))
|
|
Input()
|