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

Надо перевести число 137 из десятичной системы счисления в двоичную.объясните подробно,как это делать.

👇
Ответ:
arinaohtova
arinaohtova
09.04.2021
У вас есть число 137
если вам надо перевести его в какую-нибудь систему счисления, то нужно делить это число на номер системы, так если нужно перевести число 137 в ДВОичную ,то делим на 2 до тех пор, пока остатотк от деления не равен 1.(если в ТРОичную то на 3 и т.д.).
начнём:
137 / 2 = 68 выписываем остаток (1) 
68   / 2 = 34 выписываем остаток (0)
34   / 2 = 17 выписываем остаток (0)
17   / 2 = 8   выписываем остаток (1)
8     / 2 = 4   выписываем остаток (0)
4     / 2 = 2   выписываем остаток (0)
2     / 2 = 1  <==   на этой единице заканчиваем деление, далее снизу вверх выписываем получившееся число : 001001;
ответ: 001001
4,8(58 оценок)
Открыть все ответы
Ответ:
GolDash
GolDash
09.04.2021
const n=10;
var
  i,k,min,max:integer;
  x,y:array[1..n]of integer;
  z:array[1..2*n]of integer;

function four(n:integer):string;
var s:string;
begin
repeat
  s:=s+IntToStr(n mod 4);
  n:=n div 4;
  until n=0;
result:=ReverseString(s);
end;

begin
for i:=1 to n do
  begin
  x[i]:=random(-10,10);
  y[i]:=random(-10,10);
  if (x[i] mod 2=0) and (x[i]>0) then
    begin
    k:=k+1;
    z[k]:=x[i];
    if k=1 then
      begin
      min:=z[1];
      max:=z[1];
      end;
    if z[k]>max then max:=z[k];
    if z[k]<min then min:=z[k];
    end;
  if (y[i] mod 2=0) and (y[i]>0) then
    begin
    k:=k+1;
    z[k]:=y[i];
    if k=1 then
      begin
      min:=z[1];
      max:=z[1];
      end;
    if z[k]>max then max:=z[k];
    if z[k]<min then min:=z[k];
    end;
  end;
write('Массив X:');
for i:=1 to n do write(x[i]:4);
writeln;
write('Массив Y:');  
for i:=1 to n do write(y[i]:4);
writeln;
write('Массив Z:');  
for i:=1 to k do write(z[i]:4);
writeln;
write('Измененный массив Z:');
for i:=1 to k do
   begin
   if z[i]=min then z[i]:=max
     else
     if z[i]=max then z[i]:=min;
   write(z[i]:4);
   end;
writeln;
write('Массив Z по основанию 4:');  
for i:=1 to k do   write(four(z[i]):4);
end.
4,6(51 оценок)
Ответ:
nif4
nif4
09.04.2021

Вся сложность рекурсивных алгоритмов заключается в том, что внутри одной функции запустится другая.

Запускается F(5)

n>0? 5>0? - Да.

Выводится звёздочка, Запускается F(3), потом F(4), потом F(4) и снова выводится звёздочка (если все эти команды под условие попадают, а то у вас табуляция не расставлена)

На данный момент мы имеем 2 звёздочки и ещё 3 функции, которые должны быть выполнены.

Начнём с F(3)

3>0? Да. Тогда:

Выводится звёздочка, Запускается F(1), потом F(2), потом F(2) и снова выводится звёздочка

Уже 4 звёздочки

Нам осталось 2 раза выполнить F(2) (результаты у них будут одинаковые)

2 раза F(4) и F(1)

Запустим F(1):

1>0? Да.

Выводится звёздочка, Запускается F(-1), потом F(0), потом F(0) и снова выводится звёздочка

Звёздочек 6.

F(-1): -1>0? Нет. Ничего не делаем

F(0): 0>0? Нет. Ничего не делаем

F(2):

2>0

Выводится звёздочка, Запускается F(0), потом F(1), потом F(1) и снова выводится звёздочка

Уже 8 звёздочек

И 2 раза выводим F(1), а каждое F(1) даёт нам по 2 звёздочки

Итог: 12 звёздочек.

F(2) надо выполнить 2 раза, то бишь ещё 6 звёздочек, итог 18

Осталось 2 раза выполнить F(4)

4>0

Выводится звёздочка, Запускается F(2), потом F(3), потом F(3) и снова выводится звёздочка

20 звёздочек + 6 от F(2) + 16 от F(3) + 16 от F(3) = 58 звёздочек

F(4) выполняем второй раз 58+40=98 звёздочек - ответ

В дополнение прикреплю визуальное решение, оно должно быть попроще:


Дан рекурсивный алгоритм: def F(n):if n > 0:print('*')F(n-2)F(n-1)F(n-1)print('*')Сколько символо
Дан рекурсивный алгоритм: def F(n):if n > 0:print('*')F(n-2)F(n-1)F(n-1)print('*')Сколько символо
4,5(40 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ