- Составить программу вычисления значения выражения
k=sqrt(2+(sqrt(2+(sqrt(2+..sqrt(2)))))) при N больше или равном 1 и
меньше или равном 100.
-
- program
chisla; {Составить программу вычисления значения выражения
-
k=sqrt(2+(sqrt(2+(sqrt(2+..sqrt(2))))))
при N больше или равном 1 и
-
меньше
или равном 100.}
-
- var
-
n :
integer;
-
i :
integer;
-
k :
real;
-
begin
-
Writeln('
Введите N.');
-
readln(n);
-
k :=
0;
-
if
(n > 0) and (n <= 100) then
-
for
i := 1 to n do
-
k
:= sqrt(2 + k)
-
else
writeln('Данные не удовлетворяют условию.');
-
writeln('При
N = ', n, ' K = ', k:2:10);
-
readln;
-
end.
-
- ( Скачать решение. )
-
- Ниже решение независимого эксперта с применением
функций и рекурсии.
- function
k(n:integer):real;
-
var i
: integer;
-
res
: real;
-
begin
-
res
:= 0;
-
for
i := 1 to n do
-
res
:= sqrt(2+res);
-
k
:= res;
-
end;
-
- var
n : integer;
-
begin
-
WriteLn('Input
N:');
-
ReadLn(n);
-
if
not (n>=1)and(n<=100) then
-
WriteLn('Input
n: 1 <= n <= 100')
-
else
-
WriteLn('k
= ', k(n):2:30);
-
ReadLn;
-
end.
-
- ( Скачать решение. )