Var a1,a2,b1,b2,c1,c2:integer; begin writeln('Координаты превой клетки'); writeln('введите номер столбца'); readln(a1); writeln('введите номер строки'); readln(a2); writeln('Координаты второй клетки'); writeln('введите номер столбца'); readln(b1); writeln('введите номер строки'); readln(b2); if ((a1 mod 2) <> 0) then if ((a2 mod 2) <> 0) then c1:=0 else c1:=1; if ((a1 mod 2) = 0) then if ((a2 mod 2) <> 0) then c1:=1 else c1:=0; if ((b1 mod 2) <> 0) then if ((b2 mod 2) <> 0) then c2:=0 else c2:=1; if ((b1 mod 2) = 0) then if ((b2 mod 2) <> 0) then c2:=1 else c2:=0; if c1=c2 then writeln('YES') else writeln('NO') end.
Когда мы находим двоичную запись числа мы делим его постоянно на 2 и находим остатки. Число 2^3*2014 -2^614+45 дает при делении на 2 тот остаток что дает 45 то есть 1. Поскольку выражение слева будет точно 614 раз делиться на 2. То ясно что пока число 45 не уйдет полностью то оно будет сначало давать те остатки что дает 45. Итак выражение будет давать остатки: 45/2=22 (1) 22/2=11(0) 11/2=5(1) 5/2=2(1) 2/2=1(0) 1/2=0 (1) Итак мы делили на 2 5раз и было 4 единици. У нас выражение теперь 2^(3*2014 -6) -2^608 608 раз оно будет давать остаток 0 при делении на 2 потом останется число 2^(3*2014-614)-1. Теперь нужно применить формулу сумму геометрической прогрессии: 2^n -1 =1+2+2^2...+2^n-1 то есть понятно что оно ровно n раз будут остатки 1. То есть всего единиц будет: 3*2014-614 +4=5432 двойки проверьте расчеты
a1,a2,b1,b2,c1,c2:integer;
begin
writeln('Координаты превой клетки');
writeln('введите номер столбца');
readln(a1);
writeln('введите номер строки');
readln(a2);
writeln('Координаты второй клетки');
writeln('введите номер столбца');
readln(b1);
writeln('введите номер строки');
readln(b2);
if ((a1 mod 2) <> 0) then
if ((a2 mod 2) <> 0) then c1:=0 else c1:=1;
if ((a1 mod 2) = 0) then
if ((a2 mod 2) <> 0) then c1:=1 else c1:=0;
if ((b1 mod 2) <> 0) then
if ((b2 mod 2) <> 0) then c2:=0 else c2:=1;
if ((b1 mod 2) = 0) then
if ((b2 mod 2) <> 0) then c2:=1 else c2:=0;
if c1=c2 then writeln('YES') else writeln('NO')
end.