Когда мы находим двоичную запись числа мы делим его постоянно на 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 двойки проверьте расчеты
Задача 1 var x,y:integer; begin writeln('Введите х'); readln(x); writeln('Введите y'); readln(y); if x<y then writeln('Меньшее: ',x) else if x>y then writeln('Меньшее: ',y) else if x=y then writeln('Числа равны') end.
задача 2 var x,y:integer; begin writeln('Введите первое число'); readln(x); writeln('Введите второе число'); readln(y); if y=0 then writeln('Второе число равно 0. Деление невозможно!') else writeln(x,'/',y,'=',x/y); end.
задача 3 var s,name:string; begin writeln('Введите ваше имя'); readln(name); writeln('Введите строку'); readln(s); if s=name then writeln('Привет!') else writeln('Здравствуйте!'); end.
задача 4 var x:integer; begin writeln('Введите число'); readln(x); if (x mod 2)=0 then writeln('Четное') else writeln('Нечетное') end.
задача 5 var x:string; i:integer; begin writeln('Введите строку'); readln(x); writeln('Введите номер символа'); readln(i); if i > length(x) then writeln('Нет символа!') else writeln(x[i]) end.
задача 6 var x,y:integer; begin writeln('Количество яблок:'); readln(x); writeln('Количество апельсинов:'); readln(y); if (x*100)>(y*150) then writeln('Берите яблоки') else if (x*100)<(y*150) then writeln('Берите апельсины') else if (x*100)=(y*150) then writeln('Вес яблок и апельсинов одинаковый') end.
var
x,y:integer;
begin
writeln('Введите х');
readln(x);
writeln('Введите y');
readln(y);
if x<y then writeln('Меньшее: ',x) else
if x>y then writeln('Меньшее: ',y) else
if x=y then writeln('Числа равны')
end.
задача 2
var
x,y:integer;
begin
writeln('Введите первое число');
readln(x);
writeln('Введите второе число');
readln(y);
if y=0 then writeln('Второе число равно 0. Деление невозможно!') else
writeln(x,'/',y,'=',x/y);
end.
задача 3
var
s,name:string;
begin
writeln('Введите ваше имя');
readln(name);
writeln('Введите строку');
readln(s);
if s=name then writeln('Привет!') else
writeln('Здравствуйте!');
end.
задача 4
var
x:integer;
begin
writeln('Введите число');
readln(x);
if (x mod 2)=0 then writeln('Четное') else writeln('Нечетное')
end.
задача 5
var
x:string;
i:integer;
begin
writeln('Введите строку');
readln(x);
writeln('Введите номер символа');
readln(i);
if i > length(x) then writeln('Нет символа!') else writeln(x[i])
end.
задача 6
var
x,y:integer;
begin
writeln('Количество яблок:');
readln(x);
writeln('Количество апельсинов:');
readln(y);
if (x*100)>(y*150) then writeln('Берите яблоки')
else
if (x*100)<(y*150) then writeln('Берите апельсины')
else
if (x*100)=(y*150) then writeln('Вес яблок и апельсинов одинаковый')
end.