в помощь таблица со степенями двойки
1)берем число , и отнимаем максимально возможное из таблицы, с ответом то делаем то же , и под отнимаемыми числами пишем 1 все остальное - нули
2)то же самое , только наоборот : складываем все числа , под которыми 1
Смотри. Мороз И Солнце - 200. Солнце ИЛИ Мороз - 3300. При запросе Солнце ИЛИ Мороз может появиться отдельно мороз, отдельно солнце или отдельно мороз и солнце. Так как мороз И солнце - 200 страниц, то из 3300 вычитаем 200 и получаем сумму страниц отдельно солнце и отдельно мороз. А так как при запросе Солнце найдено 2000 страниц, то из 3100 вычитаем 2000 и получаем число страниц с Морозом, то есть 1100
Ответ: 1100
Самое простое решение program znanijatop;
const n = 100;
var
k,i,j:byte;
s1,s2:real;
a:array[1..n,1..n] of real;
begin
writeln('vvedite poryadok matrice');
readln(k);
s1:=0;s2:=0;for i:=1 to k do begin
for j:=1 to k do begin
writeln('vvedite a[',i,',',j,']');
readln(a[i,j]);
end;
end;
for i:=1 to k do begin
for j:=1 to k do begin
if i<j then s1:=s1+a[i,j];
if i>j then s2:=s2+a[i,j];
end;
end;
if s1 > s2 then writeln('nad glavnoy diagonali summa bolshe');
if s1 < s2 then writeln('pod glavnoy diagonali summa bolshe');
if s1 = s2 then writeln('ravni');
end.
Будет в 23 в 16 системе счисление
Var n,m:integer;
begin
write('n = '); readln(n);
m:=(n div 100 * 10) + n mod 10;
writeln('m = ',m);
end.
Пример:
n = 672
m = 62