Tema: Funkcija

Reikia sudaryti funkcija kuri apskaičiuoti šios eilutės reikšmė pasirinktu tikslumu n (kuo didesnis n tuo daugiau kartų atlikinės ciklą).
http://img851.imageshack.us/img851/6996/codecogseqna.gif
Galvojau ilgokai, bet nieko nesugalvojau. Buvo pasiūlymas parašyt rekursinę funkciją padaryt, bet taip pat nepavyko.

Thumbs up

 

 

2

Ats: Funkcija

pirmas narys neturėtų būti ?
\frac{1}{2}\sqrt{\frac{1}{2}}

Thumbs up

3

Ats: Funkcija

Ne smile .
Pavyko, tik šiek tiek kitaip atrodančia eilutė panaudojau big_smile .
http://upload.wikimedia.org/wikipedia/lt/math/1/e/2/1e2fdb7ff8e05304d9adb43c8ef760f2.png
Va pavyko ir su ankstesne eilute smile .

var n:longint;
function pi(z:real;n:longint):real;
    var i:longint;
        x:real;
    begin
         x:=sqrt(0.5);
         for i:=1 to n do
         begin
              x:=sqrt(0.5+0.5*x);
              z:=z*x;
         end;
         pi:=z
    end;
begin
  readln(n);
  writeln(2/pi(sqrt(0.5),n):1:14);
  Readln;
end.      

Paskutinį kartą keitė valdas3 (2011-12-05 21:43:29)

Thumbs up

4

Ats: Funkcija

kokio didumo čia n nori įrašyt? big_smile

Thumbs up

5

Ats: Funkcija

Na nežinojau kiek kartu reikės atlikti ciklą kad atsakymą rodytu kiek įmanoma tiksliau, tai  padariau n longint tipo big_smile . Bet pasirodo užtenka ir byte smile .

Thumbs up