>>858
% Prolog

'ライプニッツの公式を用いて円周率の近似値を求める時、その値が3.14から3.15の間になるまでnを増やしていき、そのnの値(繰り返し回数)を求める'(Pai) :-
  'ライプニッツの公式を用いてその一'(1,4.0,Pai).

'ライプニッツの公式を用いてその一'(N,X,X) :- X > 3.14,X < 3.15,!.
'ライプニッツの公式を用いてその一'(N,Y,X) :-
  U is 4 * (-1 ^ N) / (2 * N + 1),
  N2 is N + 1,
  Z is Y + U,
  'ライプニッツの公式を用いてその一'(N2,Z,X) .

'ライプニッツの公式を用いて円周率の近似値を以下の条件で求めよ。 nの値が増えるにつれ、それまでの近似値の平均値を求め、近似値と平均値の差が平均値の1%におさまるまで繰り返す。'(Pai) :-
  'ライプニッツの公式を用いてその二'(1,4.0,Pai).

'ライプニッツの公式を用いてその二'(N,X,X) :-
  Avg is X / N,
  abs((Y - Avg) / Avg) =< 1.0,!.

'ライプニッツの公式を用いてその二'(N,Y,X) :-
  U is 4 * (-1 ^ N) / (2 * N + 1),
  N2 is N + 1,
  Z is Y + U,
  'ライプニッツの公式を用いてその二'(N2,Z,X).