Алгоритм считается более рациональным, потому что он использует вычисление значения полинома по схеме Горнера, позволяющей минимизировать число умножений и отказаться от операции возведения в степень. Во многих языках программирования операция возведения в степень отсутствует и ее реализуют либо отдельным алгоритмом, либо через основное логарифмическое тождество
3
var n: integer;
s: real;
begin
s:=0;
n:=1;
while n <= 3*3*3*3*3*3*3*3 do begin
s:= s+1/n;
n:= n*3;
end;
writeln(s);
end.
4
var a: integer;
s: real;
begin
s:=1;
readln(a);
for var i:=1 to a do begin
s:= s-1/(i+1);
s:= s+1/(i+2);
end;
writeln(s);
end.
var
x, y, s: integer;
begin
readln(x, y);
s := (2*x + y) * (x-y);
writeln(s);
end.
680
программу я раньше уже приводила
n = 0
kolvo_trevog = 14
for bin in 1..2**30-1
s = bin.to_s(2)
next if s.include?("11")
i = 0
for j in 0..s.size
i += 1 if s[j] == "1"
end
next if i != kolvo_trevog
s = ("000000000000000000000000000000" + s)[-30..-1]
n += 1
p [s, i, n] if n % 100 == 0
end
p [s, i, n]
1.б
2.г
3.д
4.б
5.б
6.б
7.г
8.а
9.г
10.в
11.д
12.б
13.4бит
14.8
15.5120байт
16777216
1572864
1557
55.06
16.8
17.г