このディレクトリの索引

# 出典: C/C++の宿題片付けます 150代目 #353 # [1] 授業単元: プログラミング演習 # [2] 問題文(含コード&リンク): #   #  円周率を求めよ。方法はどのような方法でも構わない。 #  ただしprintf("%f",M_PI)などはなし。 #  またアルゴリズムのオリジナリティは評価に加点します。 #  (〜の方法では◯桁までしかでないが、このアルゴリズムを追加すると #   桁数が増える など) # #  できるだけ多い桁数を出したいです。 #  また桁数を逐次的に増やす方法が知りたいです。 # #  よろしくお願いします # 相加相乗平均による円周率の算出 :- 相加相乗平均による円周率の算出(_円周率), format('~11f',[_円周率]). 相加相乗平均による円周率の算出(_円周率) :- length(Ln,8), _b is 1 / sqrt(2.0), 相加相乗平均による円周率の算出(Ln,1,_b,1,4,_,_円周率). 相加相乗平均による円周率の算出([],_,_,_,_,_円周率,_円周率) :- !. 相加相乗平均による円周率の算出(Ln,_a,_b,_s,_t,_円周率_1,_円周率) :- 相加相乗平均を反復する(Ln,_a,_b,_s,_t,_円周率_1,_円周率). 相加相乗平均を反復する([_|Ln],_a,_b,_s,_t,_円周率_1,_円周率) :- 相加相乗平均(_a,_b,_s,_t,_a_2,_b_2,_s_2,_t_2,_円周率_2), 相加相乗平均による円周率の算出(Ln,_a_2,_b_2,_s_2,_t_2,_円周率_2,_円周率). 相加相乗平均(_a,_b,_s,_t,_a_2,_b_2,_s_2,_t_2,_相加相乗平均) :- _a_2 is (_a + _b) / 2, _b_2 is sqrt(_a * _b), _s_2 is _s - _t * (_a_2 - _a) * (_a_2 - _a), _t_2 is _t * 2, _相加相乗平均 is (_a_2 + _b_2) * (_a_2 + _b_2) / _s_2.