LOG N(eを底とする)・・・ ex=Nとなるx

LOGの級数展開

log(N)= 2{ N-1
――
N+1
+ (N-1)^3
―――
3・(N+1)^3
+ (N-1)^5
―――
5・(N+1)^5
+ (N-1)^7
―――
7・(N+1)^7
+・・・}


                 LOG5=1.60943791243410037460・・・

1.
6094379124 3410037460 0759333226 1876395256 0135426851 7721912647 8914741789 8770765776 4630133878 0931796107
9996630302 1715562899 7240052293 2467619963 3616617463 7057275521 7963749718 3245653492 8562023415 2505727015
5193600879 7773897256 8819354071 2766154731 2218095279 4852129282 1358059722 5676722852 8724046158 9448178364
6713286739 9842463775 9593189423 8439343534 5105097505 4454194740 5013659870 8786738321 3130572972 0406594853
8383872366 2753876545 5627181615 1165993091 5243207364 9116778639 0067587258 5778766391 5838368239 5042548795
6239484031 0019826971 1749099374 1498480957 6210169110 1437886240 3354321512 7231257345 8846155978 7291980886
5706840200 6659984447 2699973217 6811865176 0122020297 8408109019 6475266997 6506892065 8978913381 5717162072
2777455977 0534320387 7874968293 7536113380 0946764048 3302850021 7477487970 8007143465 6163598970 4125890133
7641524017 0058885987 3494848778 7971054314 1783202014 5306209061 5788790671 5981251674 9904143417 2122036944
7000926855 9375978549 2118961786 4328758768 4832205835 5961996791 3166965093 2338853158 5398982370 9854314631
1000桁目


               LOG7=1.94591014905531330510・・・
1.
9459101490 5531330510 5352743443 1797296370 8472958186 1188459390 1499375798 6275206926 7787658498 5878715269
9306169420 5851140911 7237522576 7778684314 8958095163 9007759078 2446810427 4783382259 3490084673 7441250497
3704853551 7678355774 8624015102 7741808868 6710751412 1348093879 7418310810 2518231684 9301407330 6393287711
9341121406 8769240026 0576935852 4796053502 8575362569 0618792095 5021911641 7590864756 9543294396 2682703455
5117898416 4961381068 6409244516 0419227745 0995435289 7277287286 2328141474 2495803766 1867617469 3688509686
6030637403 5724254869 2725949653 4681562059 9333092818 6009011536 9137417606 8616752857 3740589964 9732885229
6343639632 0676178232 7403532505 7732703304 6370316604 0696692127 9632396098 6520232178 7743699106 9213358195
5282984807 4275419467 8339603980 9596463887 2984562490 2863455039 4140273558 2476575316 4092930867 6046700947
6618496019 0113653785 3372480916 5480065358 5476451326 0618475934 1600828528 9349471094 4007396044 2836881486
8618868226 3675189509 6213273162 1358324303 9801956601 2671095636 3637309574 9494038080 8492639958 4314760129
1000桁目


               LOG10 =2.30258509299404568401・・・

2.
3025850929 9404568401 7991454684 3642076011 0148862877 2976033327 9009675726 0967735248 0235997205 0895982983
4196778404 2286248633 4095254650 8280675666 6287369098 7816894829 0720832555 4680843799 8948262331 9852839350
5308965377 7326288461 6336622228 7698219886 7465436674 7440424327 4365155048 9343149393 9147961940 4400222105
1017141748 0036880840 1264708068 5567743216 2283552201 1480466371 5659121373 4507478569 4768346361 6792101806
4450706480 0027750268 4916746550 5868569356 7342067058 1136429224 5544057589 2572420824 1314695689 0167589402
5677631135 6919292033 3765871416 6023010570 3089634572 0754403708 4746994016 8269282808 4811842893 1484852494
8644871927 8096762712 7577539702 7668605952 4967166741 8348570442 2507197965 0047149510 5049221477 6567636938
6629769795 2211071826 4549734772 6624257094 2932258279 8502585509 7852653832 0760672631 7164309505 9950878075
2371033310 1197857547 3315414218 0842754386 3591778117 0543098274 8238504564 8019095610 2992918243 1823752535
7709750539 5651876975 1037497088 8692180205 1893395072 3853920514 4634197265 2872869651 1086257149 2198849978
1000桁目


!★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 
!★lnNの計算★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
!logN=2{(N-1)/(N+1)+1/3・(N-1)/(N+1)^3+1/5・(N-1)/(N+1)^5+1/7・(N-1)/(N+1)^7・・・}
!★★★★★★★★★★★★★★★★★★★★★★100桁処理版★★★★★★★★★★★★
!★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
!
! x=(N-1)/(N+1)

!――(宣言文)――――――――――――――――――――――――――――――――――
OPTION ARITHMETIC RATIONAL
option base 0
!――――――――――初期設定――――――――――――――――――――――――――
LET BLOKS=100 !100桁区切り
LET JJJ=10^BLOKS
LET QQ=JJJ-1

print "■■■■■■LOG_Nの計算開始■■■■■■■■■■"
DO
input PROMPT "N=":N
input PROMPT "何桁まで計算しますか?":KTA_2
IF KTA_2<1000 THEN PRINT "桁数は、1000以上でお願いします"
LOOP WHILE KTA_2<1000

LET KTA=KTA_2/BLOKS*1.10 !桁数へ変換 10%マージン追加
print "計算開始時間:";date$,time$

print "log(N)を計算します"
print "KTA=";KTA
!――配列を準備する―商・余・Σ・基底――――――――――――――――――――――――
dim SYO(KTA*2),JOYO(KTA*2),(KTA*2),BASE(KTA*2)
! ――――――――――――――――――――――――――――――――――――――――
!logN=2{(N-1)/(N+1)+1/3・(N-1)/(N+1)^3+1/5・(N-1)/(N+1)^5+1/7・(N-1)/(N+1)^7・・・}

!項数の項数計算 kou
!項数=(log2+KTA_2-logk)/(log10(N+1)-log10(N-1))

LET kou=(0.3010+KTA_2)/(log10((N+1)/(N-1)))

print "項数:";int(kou);"項まで"
!★★★★★★★★第1項は、N−1/N+1★★★★★★★★★★★★★★★★★★★★
LET BASE(0)=1
LET DIV_X=N+1
for I=0 to KTA
LET JOYO(I)=(N-1)*BASE(I)
NEXT I
GOSUB 600 ! (N-1)/N+1の計算


for I=0 to KTA
LET BASE(I)=SYO(I)
LET (I)=BASE(I)
NEXT I

!★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
!logN=2{(N-1)/(N+1)+1/3・(N-1)/(N+1)^3+1/5・(N-1)/(N+1)^5+1/7・(N-1)/(N+1)^7・・・}
!★★★★★★★第3項以降の計算★★★★★★★★★★★★★★★★★★★★
for k=3 to kou step 2
! print "k=";k
GOSUB 1100 !そろばんリセットルーチン SYO と JOYOを0にする

for I=0 to KTA
LET JOYO(I)=BASE(I)
NEXT I

!★★前の項(BASE)を(N-1)/(N+1)^2で割る
LET DIV_X=(N+1)^2
for I=0 to KTA
LET JOYO(I)=(N-1)^2*JOYO(I)
NEXT I
GOSUB 600 !答えはSYOで返ってくる

!★★この項をBASEに一旦保存する
for I=0 to KTA
LET BASE(I)=SYO(I)
! print BASE(I)
NEXT I

!★★前の項(JOYO)をkで割る
LET DIV_X=k
GOSUB 600 !答えはSYOで返ってくる

!★★狽ノ足す
for I=1 TO KTA
LET (I)=(I)+SYO(I)
NEXT I

next k


!最後に2倍し、桁上げ処理する
FOR I = 0 TO KTA
LET (I)=2*(I)
NEXT I
GOSUB 910 !桁上げ処理

!印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷
print "計算終了時刻:";date$,time$
print str$((0));"."
FOR I =1 TO KTA
LET p$=repeat$("0",100-LEN(str$((I))))&str$((I))
print mid$(p$,1,10);" ";mid$(p$,11,10);" ";mid$(p$,21,10);" ";mid$(p$,31,10);" ";mid$(p$,41,10);" ";
print mid$(p$,51,10);" ";mid$(p$,61,10);" ";mid$(p$,71,10);" ";mid$(p$,81,10);" ";mid$(p$,91,10)
if I/10=int(I/10) then print str$( I*100);"桁目"
NEXT I
!印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷印刷

stop

600 ! *DIV_X
! ■■■■■■■■■■割算■■■■■■■■■■■■■■■■■■■■■■■■
! *******ソロバン・ルーチン開始*********************
for I= 1 to KTA
! 商を計算
LET SYO(I)=int((JJJ*JOYO(I-1) + JOYO(I)) / DIV_X)
! 余りを算出
LET JOYO(I)=(JJJ*JOYO(I-1) + JOYO(I))-SYO(I)*DIV_X
next I
! ******ソロバン・ルーチン終了!!******************
! ***商の結果を余りへ置換え*****
for I=1 to KTA
LET JOYO(I) =SYO(I)
next I
! ***置換え終了!****************
return


! ■桁処理■■■■■■■■■■■■■
910 ! *KEA_UP
FOR G_KTA=KTA to 1 step -1
LET (G_KTA-1)=(G_KTA-1)+int((G_KTA) / JJJ)
LET (G_KTA)=MOD( (G_KTA) , JJJ )
next G_KTA
return
! ■■■■■■■■■■■■■■


! ■■リセットルーチン■■■■■
1100 ! *RE_SET
for I =0 to KTA
LET SYO(I)=0
LET JOYO(I)=0
next I
return
! ■■■■■■■■■■■■■■■


END


参考:パソコンを遊ぶ簡単プログラミング―コンピュータを自由に操る「十進BASIC」入門


Math TOP