Другие языки программирования и технологии

Каr найти число 'ПИ". Нужна формула! тоесть пример на языке программирования C++ или C# или pascal или php или javascrip

// Visual C++ 2010 console application
// pi
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

#define LIM 100000000

void main()
{
double a = 2, b = 1, pi = 1, n = 0;
bool flag = true;

do
{
n++;
pi *= a / b;

if (flag == true)
{
b += 2.;
flag = false;
}
else
{
a += 2.;
flag = true;
}
}
while (n < LIM);

pi *= 2;

cout << endl << setprecision(8)<< " PI = " << pi;

fflush(stdin);
cin.get();
}

Дальнейшая точность вычисления требовательна ко времени, и с каждым порядком в 10 раз!!!
AM
Abdukarim Mashrabov
68 874
Лучший ответ
По ряду Шарпа, например (день назад отвечал) :

var p,s:real; k:integer;
begin
write('a: '); p:=1; s:=1; k:=1;
repeat p:=-p/3*k/(k+2); k:=k+2; s:=s+p until abs(p) < 1e-12;
writeln('pi=',2*sqrt(3)*s:0:12); readln
end.
Nasibali Isroilov
Nasibali Isroilov
81 197
На википедии есть формулы для нахождения PI, реализовать их итеративно или рекурсивно не так уж и сложно.
И С
И С
81 049
Вычислить значение π можно с использованием бесконечного разложения:

π /4 = 1 - 1/3 + 1/5 - 1/7 - .

Вычисления продолжать до тех пор, пока очередной член ряда не окажется меньше 0.0000001 (или введите свою точность)

program a1;
var x, s,p, sl, zn: real;
begin
s:=0;
x:=1; sl:=1; zn:=-1;
while sl>=0.0000001 do
begin
zn:=(-1)*zn;
sl:=1/x;
s:=s+sl*zn;
x:=x+2
end;
p:=s*4;
writeln(p);
на википедии в статье про пи есть
с помощью рядов разных можно найти
Иван Конюк
Иван Конюк
36 751
Вроде бы ряд какой-то есть.
Выведи отсюда ;)))
S=Pi R^2

http://altera-pars.narod.ru/Qadra/form_pi_1.htm

можна так

===========================
uses Crt;
const
n=10000000;
r=46340;
r2=46340*46340;
var
i,pass : LongInt;
x,y : real;
{$F+}
begin
WriteLn('Поехали! ');
Randomize;
pass:=0;
for i:=1 to n do
begin
x:=Random(r+1);
y:=Random(r+1);
if ( x*x+y*y < r2 ) then INC(pass);
end;
TextColor(GREEN);
WriteLn('Число ПИ получилось равным: ',(pass/i*4):0:5);
ReadLn;
end.
===================

ну а на Си вот тут глянь (формула Гаусса)

http://algolist.manual.ru/maths/count_fast/pi.php
Олег и Юрий, найти пи через формулу длины окружности не прокатит ибо у нас нет эталонной длины окружности, чтобы ее делить на радиус....
"Пи" есть ничто иное как отношение длины экватора к диаметру Земного шара в плоскости, проходящей через экватор.
#include "stdafx.h"
#include

using namespace std;

int main()
{
int a; //делимое
int b; // делитель
int c; // частное
int d; // остаток
int r;
int e ; // счётчик
int f = 0; // переменная

cin >> a >> b >> e;

c = a / b;
r = a % b ;
cout << c << ".";
do
{
f++;
a = r * 10;
if (a > 9)
{
d = a / b;

}

cout << d;
} while (f < e );
system("pause");
}
Tilekbek Sultanov
Tilekbek Sultanov
324