小町算でπを作る

 投稿者:山中和義  投稿日:2013年 1月10日(木)20時50分5秒
 
!小町算でπを作る

!π=ArcTan(1)+ArcTan(2)+ArcTan(3)より、

PRINT ATN(5-4)+ATN(3)+ATN(2*1) !1から5まで
PRINT ATN((5-4)*3)+ATN(2)+ATN(1) !1から5まで
PRINT ATN((5+4)/3)+ATN(2)+ATN(1) !1から5まで

PRINT ATN(7-6+5-4)+ATN(3)+ATN(2-1) !1から7まで
PRINT ATN(7-6)+ATN((5-4)*3)+ATN(2*1) !1から7まで
PRINT ATN(7-6)+ATN((5+4)/3)+ATN(2*1) !1から7まで
PRINT ATN((7+6-5)/4)+ATN(3)+ATN(2-1) !1から7まで

PRINT ATN(8+7+6-5*4)+ATN(3)+ATN(2*1) !1から8まで
PRINT ATN((8+7-6-5)/4)+ATN(3)+ATN(2*1) !1から8まで

PRINT ATN(9-8-7+6+5-4)+ATN(3)+ATN(2*1) !1から9まで
PRINT ATN(9-8+7-6-5+4)+ATN(3)+ATN(2*1) !1から9まで
PRINT ATN(-9-8-7+6+5*4)+ATN(3)+ATN(2-1) !1から9まで
PRINT ATN(-9-8-7+6*5-4)+ATN(3)+ATN(2-1) !1から9まで
PRINT ATN((9*8-7*6)/5-4)+ATN(3)+ATN(2-1) !1から9まで

PRINT ATN(10-9)+ATN(8-7+6-5)+ATN(4-3+2*1) !1から10まで
PRINT ATN(10+9-8-7+6-5-4)+ATN(3)+ATN(2*1) !1から10まで
PRINT ATN((10+9-8-7)*(6-5)/4)+ATN(3)+ATN(2*1) !1から10まで


!π/4=ArcTan(1)より

PRINT 4*(3-2)*ATN(1) !1から4まで
PRINT 4*ATN(3-2*1) !1から4まで

PRINT (5+4-3-2)*ATN(1) !1から5まで
PRINT (5-4+3)*ATN(2-1) !1から5まで
PRINT ATN(5-4)*(3+2-1) !1から5まで

PRINT (6+5-4-3)*ATN(2-1) !1から6まで
PRINT (6-5)*4*(3-2)*ATN(1) !1から6まで

PRINT (7+6-5-4)*(3-2)*ATN(1) !1から7まで
PRINT (7-6-5)*ATN((4-3-2)*1) !1から7まで

PRINT (8-7+6-5-4+3*2)*ATN(1) !1から8まで
PRINT (8-7-6+5+4)*ATN(3-2*1) !1から8まで
PRINT (8-7)*(6-5)*4*(3-2)*ATN(1) !1から8まで
PRINT (8+7-6-5)*ATN((-4+3+2)*1) !1から8まで

PRINT (9-8+7-6+5-4+3-2)*ATN(1) !1から9まで
PRINT (9+8-7-6+5-4-3+2)*ATN(1) !1から9まで

PRINT ((10-9+8-7)*(6-5)-4+3*2)*ATN(1) !1から10まで
PRINT ATN((10-9)*(8-7)*(6-5))*4*(3-2*1) !1から10まで
PRINT (10+9-8-7)*(6-5)*(-4+3+2)*ATN(1) !1から10まで
PRINT (10+9-8-7)*(6-5)*ATN(-4+3*2-1) !1から10まで


!α+β=π/4を求める。
! tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)=1とすると、tanβ=(1-tanα)/(1+tanα)
! tanα=m/nのとき、tanβ=(n-m)/(n+m)
! (m,n)=(2,1)なら、(n-m)/(n+m)=(1-2)/(1+2)=-1/3
! (m,n)=(5,1)なら、(n-m)/(n+m)=(1-5)/(1+5)=-2/3
! (m,n)=(6,1)なら、(n-m)/(n+m)=(1-6)/(1+6)=-5/7
! から、(tanα,tanβ)=(2,-1/3)、(5,-2/3)、(6,-5/7)、…
!より、

PRINT 4*(ATN(2)-ATN(1/3)) !1,2,3,4
PRINT 4*(ATN(5)-ATN(2/3)) !2,3,4,5
PRINT 4*(ATN(6)-ATN(5/7)) !4,5,6,7


!その他

PRINT ATN(3-2)*4 !2,3,4
PRINT ATN(6-5)*4 !4,5,6
PRINT 4*ATN((7-5)*3/6) !3,4,5,6,7
PRINT ATN((8-7)*(6-5))*4 !4,5,6,7,8
PRINT (10+9-8-7)*ATN(6-5) !5,6,7,8,9,10
PRINT ATN((10-9)*(8-7)*(6-5))*4 !4,5,6,7,8,9,10


PRINT ATN(1)+ATN(4-2)+ATN(3) !1から4まで
PRINT ATN(5-4)+ATN(2*1)+ATN(6-3) !1から6まで
PRINT ATN(6-5)+ATN(4-2)+ATN(3*1) !1から6まで
PRINT ATN(6-5)+ATN(3)+ATN(4-2*1) !1から6まで

END

 

戻る