1. program z1; var x,y:real; begin writeln('введите х'); readln(x); if x<>2 then begin y:=(2*x+3)/(x-2); writeln('y=',y); end else writeln('не существует'); end.
2. program z1; var s,k,i:integer; begin s:=0; writeln('введите k'); readln(k); for i:=1 to k do if i mod 2<>0 then s:=s+i; writeln(s); end.
school24mir23
04.01.2021
4^255 + 2^255 - 255 = (2^2)^255 + 2^255 - 256 + 1 = 2^510 + 2^255 - 2^8 + 1 В двоичном представлении 2^510 - единица и 510 нулей, 2^255 - единица и 255 нулей, 2^8 - единица и 8 нулей, 1 - 1 Нужно понять, как записывается 2^255 - 2^8, для этого можно применить /алгоритм вычитания в столбик/ в двоичной системе счисления: Разряды 0..7 в обоих числах = 0 -> в результате вычитания в этих разрядах останется 0 Далее в числе 2^255 в разрядах 8..254 стоят нули, и из 8-ого разряда вычитается 1. При вычитании из нуля единицы получается единица с вычитанием единицы из следующего разряда (этот процесс продолжается до первого ненулевого разряда - до 255ого). Т.е. все разряды с 8ого по 254ый (всего их 254-8+1 = 247) в разности = 1, а в 255ом получается 0. --> 2^255 - 2^8 записывается как 247 единиц и 8 нулей. При прибавлении 2^510 и 1, просто получаем еще две единицы в разрядах 0 и 510. Всего 249 единиц в двоичной записи.
Mikhailovna1444
04.01.2021
Тебе нужно привести всё к двойке. 4 это 2 в квадрате, значит 2 в 510 + 2 в 255 - 2 в 8 (это будет 256, берем больше чтобы заполнить всё число, а теперь вычитаем то, что нам не надо) 2 в нулевой (будет 1, т.е 256-1=255) 2 в 510 + 2 в 255 - 2 в 8 +2 в 0
бывает так, что наши "квадраты" стоят не в порядке убывания, тогда расставляем их в порядке убывания. например если бы было 255 +510 -8 мы бы сделали 510+255-8
ну а теперь считаем единицы: первая цифра всегда считается как единица, минус мы считаем 255 - 8 = 247 единиц и одна единица в конце 2в 0 итого получаем первое число всегда единица 1 + минус получился 247 + единица в конце +1 = 249
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Составить алгоритмы и их блок - схемы 1) вычисления значения выражения y=(2x+3)/(x-2) 2) нахождения суммы нечетных чисел от 1 до к
program z1;
var x,y:real;
begin
writeln('введите х');
readln(x);
if x<>2 then
begin
y:=(2*x+3)/(x-2);
writeln('y=',y);
end
else
writeln('не существует');
end.
2.
program z1;
var s,k,i:integer;
begin
s:=0;
writeln('введите k');
readln(k);
for i:=1 to k do
if i mod 2<>0 then
s:=s+i;
writeln(s);
end.