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

3D редакторы туралы жалпы түсінік

2.3D редакторы құралдары

Показать ответ
Ответ:
kocrtaru
kocrtaru
15.01.2021 16:00

Такие задания со сложными условиями легче всего решать программой на питоне:

for n in range(1, 10000000):  # Грубый перебор

   n -= n % 4  # 1. Из числа N вычитается остаток от деления N на 4.

   n = bin(n)[2:]  # 2. Строится двоичная запись полученного результата. + срез "0b"

   n = n + str(n.count('1') % 2)  # 3. a)

   n = n + str(n.count('1') % 2)  # 3. б)

   r = int(n, 2)  # Перевод в 10 с.с.

   if r > 56:

       print(r)  

       break

ответ: 66

Если всё же рассуждать, то опять перебором:

Возьмём, например, число 5 и выполним алгоритм:

1. 5 - 5 % 4 = 4

2. 4 -> 100

3. a) 1001

   б) 10010

R = 18, очень мало

Возьмём, например, 14:

1. 12  

2. 1100

3. a) 11000

   б) 110000

R = 48, маловато, но близко

Возьмём, например, 15:

1. 12

Видим, будет тоже, что и 14

Возьмём, например, 16:

1. 16

2. 10000

3. a) 100001

   б) 1000010

R = 66, то, что нам нужно.

ответ: 66

0,0(0 оценок)
Ответ:
Нилллл
Нилллл
04.12.2021 20:45

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

Объяснение:

Решение на PascalABC.NET:

##

var a: BigInteger := BigInteger.Subtract(BigInteger.Subtract(BigInteger.Multiply(BigInteger.Parse('3'), BigInteger.Pow(BigInteger.Parse('2'), 32)), BigInteger.Pow(BigInteger.Parse('2'), 10)), BigInteger.Parse('3'));

var b: String;

while(a>0) do

begin

 b:= BigInteger.Remainder(a, 4).ToString+b;

 a:= BigInteger.Divide(a, 4);

end;

print(b.Count(x->x='3'));

Решение на Python3:

a = 3 * 2 ** 32 - 2 ** 10 - 3

b = ''

while a > 0:

   b = str(a % 4) + b

   a //= 4

print(b.count('3'))

Решение на Java:

import java.math.BigInteger;

public class Study

{

public static void main(String[] args)

{

System.out.println(BigInteger.valueOf(3L).multiply(BigInteger.valueOf(2L).pow(32)).subtract(BigInteger.valueOf(2L).pow(10)).subtract(BigInteger.valueOf(3L)).toString(4).chars().filter(x->x=='3').count());

}

}

Результатом работы программ во всех случаях будет одно число 14.

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота