Reikia sudaryti funkcija kuri apskaičiuoti šios eilutės reikšmė pasirinktu tikslumu n (kuo didesnis n tuo daugiau kartų atlikinės ciklą).
Galvojau ilgokai, bet nieko nesugalvojau. Buvo pasiūlymas parašyt rekursinę funkciją padaryt, bet taip pat nepavyko.
Taksas027 +1078
pirmas narys neturėtų būti ? [tex]\frac{1}{2}\sqrt{\frac{1}{2}}[/tex]
valdas3 +1276
Ne :) . Pavyko, tik šiek tiek kitaip atrodančia eilutė panaudojau :D .
Va pavyko ir su ankstesne eilute :) .
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.
pakeista prieš 12 m
Taksas027 +1078
kokio didumo čia n nori įrašyt? :D
valdas3 +1276
Na nežinojau kiek kartu reikės atlikti ciklą kad atsakymą rodytu kiek įmanoma tiksliau, tai padariau n longint tipo :D . Bet pasirodo užtenka ir byte :) .
Grave +2
Sveiki, gal galite padeti su siuo uzdaviniu, nes kai pats sprendziu gaunu atsakyma 12, o kompiuteris raso, kad 9. Aciu labai :)
funkcion p(n:integer):integer; var f, i, j, k, s:integer;
begin s := 0; f :=1; for i := 1 to n do begin f := f * i; k :=1; for j := 1 to 2 do k := k * i; s := s + k * f; end; p := s end;
Kokia bus kintamojo x reikšmė, jei x = p(a) ir a = 2 ?