М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
наташа979
наташа979
04.05.2020 14:38 •  Информатика

Задание 5 На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. К этой записи дописываются справа ещё несколько разрядов по следующему правилу: а) Если Nчётное, то к нему справа приписывается в двоичном виде сумма цифр его двоичной записи; б) Если N нечётное, то к нему справа приписываются два нуля, а слева единица. Полученная таким образом запись (в ней как минимум на один разряд больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Например, запись числа 1101 будет преобразована в 11110100. Укажите такое наименьшее число N, для которого результат работы данного алгоритма больше числа 215. В ответе это число запишите в десятичной системе счисления.

👇
Ответ:

ответ: Тут в задание опечатка скорее всего

Если делать по примеру из задания, будет такой код:

for i in range(20):

   n = i

   n = bin(n)[2:]

   sum = 0

   if int(n) % 2 == 0:

       sum = str(n).count('1')

       sum = bin(sum)[2:]

       r = n + sum

   else:

       r = '11' + n + '00'

   r = int(r, 2)

   if r > 215:

       print(i)

Если делать по условию задание, будет такой код:

for i in range(30):

   n = i

   n = bin(n)[2:]

   sum = 0

   if int(n) % 2 == 0:

       sum = str(n).count('1')

       sum = bin(sum)[2:]

       r = n + sum

   else:

       r = '1' + n + '00'

   r = int(r, 2)

   if r > 215:

       print(i)

4,6(99 оценок)
Открыть все ответы
Ответ:
DevilWoods
DevilWoods
04.05.2020
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var xa,ya,xb,yb,xc,yc:real;
  Write('Введите координаты точки А: '); Read(xa,ya);
  Write('Введите координаты точки B: '); Read(xb,yb);
  Write('Введите координаты точки C: '); Read(xc,yc);
  var xd:=(xb+xc)/2;
  var yd:=(yb+yc)/2;
  var ma:=sqrt(sqr(xd-xa)+sqr(yd-ya));
  Writeln('ma=',ma:0:5);
  var AB:=sqrt(sqr(xb-xa)+sqr(yb-ya));
  var AC:=sqrt(sqr(xc-xa)+sqr(yc-ya));
  var BC:=sqrt(sqr(xc-xb)+sqr(yc-yb));
  var Wb:=sqrt(AB*BC*(sqr(AB+BC)-AC*AC))/(AB+BC);
  Writeln('Wb=',Wb:0:5)
end.

Результат
Введите координаты точки А: 0 0
Введите координаты точки B: 2 1
Введите координаты точки C: -2 3
ma=2.00000
Wb=2.66667

Pascal. записать листинг программы на языке паскаль: треугольник задан координатами вершин а(0; 0),
4,6(81 оценок)
Ответ:
Function Sq(a,b,c:real):real;
Var p:real;
Begin
p:=(a+b+c)/2;
result:=Sqrt(p*(p-a)*(p-b)*(p-c))
End;

Function Tr(a,b,c:real):boolean;
Begin
result:=(a+b>c)and(a+c>b)and(b+c>a)
End;

Var
a,b,c,k1,k2,h,t,s,r1,r2:real;
Begin
writeln(' найти радиус или площадь треугольника? если радиус,то нажмите 1. Если площадь, то нажмите 2 ');
readln(k1);
if k1=1 then 

 begin 
 writeln('окружность вписанная(нажмите 1) или описанная(нажмите 2)?');
 readln(k2);

 write('сторона а = ');
 readln(a);
 write('сторона b = ');
 readln(b);
 write('сторона с = ');
 readln(c);
 if Tr(a,b,c) then
  begin
  s:=Sq(a,b,c);

  if k2=1 then 
  begin
  r1:=(a+b+c)/(2*s);
  writeln('радиус вписанной окружности = ' , r1);
  end;

  if k2=2 then 
  begin
  r2:=a*b*c/(4*s);
  writeln('радиус описанной окружности = ', r2);
  end;
  end else WriteLn('Треугольник не существует');
 end
else

 if k1=2 then
 begin
 writeln('что вам известно? если а и h, то нажмите 1. если а,b,с то нажмите 2' );
 readln(k2);
 if k2=1 then
  begin
  write('высота = ');
  readln(h);
  write('cторона = ');
  readln(t);
  s:=1/2*h*t;
  writeln('площадь = ',s);
  end;

  if k2=2 then
  begin
  Write('a = ');
  ReadLn(a);
  Write('b = ');
  ReadLn(b);
  Write('c = ');
  ReadLn(c);
  if Tr(a,b,c) then
   begin
   s:=Sq(a,b,c);
   writeln('площадь = ',s) ;
   end else WriteLn('Треугольник не существует');
  end;
 end;
end.

Пример:
 найти радиус или площадь треугольника? если радиус,то нажмите 1. Если площадь, то нажмите 2 
2
что вам известно? если а и h, то нажмите 1. если а,b,с то нажмите 2
1
высота = 3
cторона = 4
площадь = 6
4,6(66 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ