< HTML + JavaScript >
整数?   


################################################################################ < 十進BASIC > PRINT PRINT "すべての自然数は、" PRINT "各位の数の2乗の総和をとる操作を繰り返していくと、" PRINT "いずれ 1 か 89 になる。" PRINT INPUT PROMPT "自然数を入力してください。 ":Q$ PRINT LET L=LEN(Q$) DIM T$(L),W(L*3),K(L*3) FOR i=1 TO L LET T$(i)=Q$(i:i) LET W(i)=VAL(T$(i)) NEXT i DO LET h=L FOR i=1 TO h PRINT W(i);"^ 2"; IF i=h THEN EXIT FOR PRINT " + "; NEXT i CALL RETURN(W,h,M,L,K) PRINT " = ";M PRINT IF M=1 OR M=89 THEN EXIT DO FOR i=1 TO L LET W(i)=K(i) NEXT i LOOP IF M=89 THEN PRINT " 89 → 145 → 42 → 20 → 4 → 16 → 37 → 58 → 89" END IF PRINT END EXTERNAL SUB RETURN(P(),n,Z,r,V()) LET Z=0 FOR i=1 TO n LET Z=Z+P(i)^2 NEXT i LET D$=STR$(Z) LET r=LEN(D$) DIM U$(r) FOR i=1 TO r LET U$(i)=D$(i:i) LET V(i)=VAL(U$(i)) NEXT i END SUB