Одна из крупнейших рек в России берёт свой исток около деревни Бочарово (Смоленская область). Её русло проходит в России, Украине и Белоруссии. Используя сеть Интернет найдите эту реку. Узнайте её длину (в км) после постройки каскада водохранилищ.
Сколько бит кода необходимо для передачи числа описывающего длину реки.
1.
var a:array[1..6]of integer;
i,k:integer;
begin
k:=0;
write('Массив: ');
for i:= 1 to 6 do
begin
a[i]:= random(5);
write(a[i]:4);
if a[i]=4 then k:=k+1
end;
writeln;
if k=0 then writeln ('В массиве нет элементов равных 4')
else writeln('Количество элементов равных 4 равно ',k)
end.
2.
var a:array[1..6,1..6]of integer;
b:array[1..36]of integer;
i,j,k,z,y,m:integer;
begin
k:=0;
writeln('Массив A ');
for i:= 1 to 6 do
begin
for j:= 1 to 6 do
begin
a[i,j]:= random(51);
write(a[i,j]:3);
end;
writeln;
end;
writeln;
k:=1;
for i:= 1 to 6 do
begin
for j:= 1 to 6 do
begin
for z:=1 to 6 do
begin
for y:=1 to 6 do
begin
if (z<>i) and (y<>j) and (a[i,j] = a[z,y]) then
begin
b[k]:=a[i,j];
k:=k+1
end;
end;
end;
end;
end;
writeln('Массив B ');
for i:= 1 to k-1 do write (b[i]:3);
writeln;
writeln;
m:=b[1];
for i:= 2 to k-1 do if b[i]>m then m:=b[i];
writeln('Максимум среди элементов повторившихся более одного раза в массиве А равен ',m);
end.
Объяснение:
В массиве B во второй задаче находятся повторяющиеся элементы массива А.
===== PascalABC.NET =====
begin
var n := ReadInteger('n =');
var p := 1 - 1 / 2;
var i := 3;
while i <= n do
begin
p *= 1 - 1 / i;
i += 1
end;
Println(p)
end.
Объяснение:
Хороший "страдать фигней", программируя подобные задачи.
Ведь понятно, что (1 - 1/2) (1 - 1/3) ( 1 - 1/4) ... (1 - 1/n) всегда равно 1/n
В самом деле? 1/2 × 2/3 × 3/4 × 4/5 × ... (n-1)/n = 1/n, потому что соседние члены взпимно сокращаются.
Правда, задав достаточно большое n, можно убедиться, что арифметика вещественных чисел небезупречна в точности. В приведенном примере для n = 2 миллиарда получаем погрешность уже в 13-й цифре.