OPTION BASE 0 OPTION ARITHMETIC DECIMAL_HIGH FUNCTION f(n) IF n=1 THEN LET f=0 ELSEIF n=2 THEN LET f=1 ELSE LET f=(n-1)*(f(n-2)+f(n-1)) END IF END FUNCTION LET G=1-f(30)/FACT(30) !オイラーの解法 LET C=1 FOR i=1 TO 30 !マクローリン展開によるもの LET C=C+1/FACT(i) NEXT i LET M=C LET C=0 FOR i=1 TO 30 !包除原理による解法 LET C=C+(-1)^(i+1)/FACT(i) NEXT i LET U=C DIM P(30) !一般的な解法 LET P(0)=0 LET P(1)=1 LET P(2)=1/2 FOR i=3 TO 30 LET C=0 FOR j=1 TO i LET C=C+(1-P(j-1))/FACT(i+1-j) NEXT j LET P(i)=C NEXT i PRINT "ネイピア数の近似値 ( 漸化式の30項までの和 ):" PRINT " 1段目: 正確なネイピア数" PRINT " 2段目: 一般的な近似方法で、マクローリン展開によるもの" PRINT " 3段目: モンモールの出合いの問題 の 一般的な解法によるもの" PRINT " 4段目: モンモールの出合いの問題 の オイラーの解法によるもの" PRINT " 5段目: モンモールの出合いの問題 の 包除原理による解法より" PRINT PRINT " 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178・・・・・・" PRINT M PRINT 1/(1-P(30)) PRINT 1/(1-G) PRINT 1/(1-U) PRINT PRINT END