В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
mariyudina95
mariyudina95
24.11.2022 05:15 •  Информатика

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N.

2. К этой записи дописываются ещё два разряда по следующему правилу:

а) если N чётное, то к нему справа приписываются две последние цифры его двоичной записи;

б) если N нечётное, то к нему справа и слева приписывается цифра 1.

Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

Например, двоичная запись нечётного числа 110012 будет преобразована в 11100112.

Укажите такое наименьшее число R, превышающее 130, которое может являться результатом работы данного алгоритма.
В ответе это число запишите в десятичной системе счисления

Показать ответ
Ответ:
УмНяша01
УмНяша01
15.11.2022 04:38

(см. объяснение)

Объяснение:

Ниже показано решение на различных языках программирования + аналитический метод.

Java:

System.out.println(BigInteger.valueOf(2).pow(102).add(BigInteger.valueOf(2).pow(100)).add(BigInteger.valueOf(2).pow(85)).add(BigInteger.valueOf(2).pow(17)).toString(8));

Pascal:

##

var res: BigInteger := BigInteger.Add(BigInteger.Add(BigInteger.Add(BigInteger.Pow(BigInteger.Parse('2'),102),BigInteger.Pow(BigInteger.Parse('2'),100)),BigInteger.Pow(BigInteger.Parse('2'),85)),BigInteger.Pow(BigInteger.Parse('2'),17));

 var s: string := '';

 while(not res.IsZero) do

 begin

   s:= BigInteger.Remainder(res,8).ToString+s;

   res:= BigInteger.Divide(res,BigInteger.Parse('8'));

 end;

 writeln(s);

Python:

a = 2**102+2**100+2**85+2**17

s = ''

while(a>0):

   s=str(a%8)+s

   a//=8

print(s)

Аналитический метод:

Нужно представить все, как <число>*8^[степень]. Заметим, что:

2^{102} + 2^{100} + 2^{85} + 2^{17}=8^{34}+2*8^{33}+2*8^{28}+4*8^{5}

Результат полученный во всех случаях одинаковый:

12000020000000000000000000000400000

Это означает, что всего в числе встречается 4 различные цифры.

Задание выполнено!

0,0(0 оценок)
Ответ:
CrowOnix
CrowOnix
26.07.2021 04:46
ответ: да можно ,
Для каждого груза можешь привести 
Данный груз +   некая гиря     =  противовес 
1                     +     0                   = 1
2                     +     1                   = 3
3                     +     0                   = 3
4                     +     0                   = 3+1
5                     +     3+1               = 9
6                     +     3                   = 9
7                     +     3                   = 9+1
8                     +     1                   = 9 
9                     +     0                   = 9
10                   +     0                   = 9+1
11                   +     1                   = 9+3
12                   +     0                   = 9+3
13                   +     0                   = 9+3+1
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота