Вот что записано в тетради ученика: 101-10=11
101+10=111
101*10=1010
Понятно, что арифметические действия выполняются не с десятичными числами, а с двоичными. Надо написать программу получения таких действий в указанной системе счисления р (2≤p≤16) для заданных чисел А и В (1≤B≤A≤10000), записанных первоначально в десятичной системе счисления. При выводе чисел в системе счислению больше 10 используются заглавные латинские буквы.
Пример входных данных:
2
5 2
Пример выходных данных:
101-10=11
101+10=111
101*10=1010
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-й цифре.