Program gt;
var a,b:array[1..100]of real;
s1,s2:real;
n,m,i:longint;
begin
read(n,m);
s1:=0;s2:=0;
for i:=1 to n do
begin
read(a[i]);
s1:=s1+a[i];
end;
for i:=1 to m do
begin
read(b[i]);
s2:=s2+b[i];
end;
writeln(s1,' ',s2);
<span>end.</span>
Вначале переведём всё в десятичную систему счисления - 2538+759 = 3297.
А теперь переведём в двоичную - 110011100001
Var
C:array[0..9] of byte;
A:longint;
i:byte;
Begin
For i:= 0 to 9 do
C[i]:=0;
Repeat
Write('Введите натуральное число: ');ReadLn(A);
Until A>0;
i:=Trunc(Ln(A)/Ln(10));
if frac(Ln(A)/Ln(10)) > 0 then i:=i+1;
For i:= 1 to i do
Begin
C[A mod 10]:=C[A mod 10] +1;
A:=A div 10
End;
For i:= 0 to 9 do
if C[i]>1 then A:=1;
if A = 1 then
Begin
Write('Повторяются: ');
For i:= 0 to 9 do
if C[i] > 1 then
Write(i,' ')
End
End.
Пример работы программы:
Введите натуральное число: 131350788
Повторяются: 1 3 8
Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой).
Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде.
Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения.
12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2)
Считаем количество нулей в записи: 9. Это и есть ответ.