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

Дана последовательность из 10 натуральных чисел , у скольких из них в 2-ичной записи чётное количество едениц

Показать ответ
Ответ:
pepsy94zm
pepsy94zm
05.06.2023 12:55
Я уже решал эту задачу.
Я руками за 5 дней делаю 5 коробок, и на 6-ой день покупаю духовку.
Руками и духовкой я делаю 2 коробки в день, за 5 дней - 10 коробок.
На 6-ой день я покупаю вторую духовку.
Руками и 2-мя духовками я за 5 дней делаю 15 коробок, и на 6-ой день покупаю 3-ью духовку.
И так далее. Чтобы купить очередную духовку, я работаю 5 дней, а на 6-ой день ее покупаю, и у меня печенья не остается совсем.
То есть, после покупки каждой духовки я начинаю всё с нуля.
Главное - понять, когда нужно остановиться покупать духовки и начать уже копить печенье на складе.
Итак, подведем итоги:
1) На покупку каждой духовки мы тратим 6 суток и начинаем с нуля.
2) Имея n духовок, мы делаем 584 коробок печенья за 
trunc(584/(n+1)) + 1 дней, где trunc(x) = [x] - это целая часть x. 
3) Всего мы тратим времени T(n) = 6n + trunc(584/(n+1)) + 1 --> min
Минимум функции trunc(584/(n+1)) совпадает с минимумом 584/(n+1)
T(n) = 6n + 584/(n+1) + 1 --> min
T'(n) = 6 - 584/(n+1)^2 = (6(n+1)^2 - 584) / (n+1)^2 = 0
6(n+1)^2 - 584 = 0
(n+1)^2 = 584/6 = 97,33
n + 1 = √97,33 ~ 9,86 = 10
n = 9
Значит, нужно ограничиться покупкой 9 духовок.
За 6*9 = 54 дня мы их купим, и за 584/10 ~ 59 дней мы соберем нужное количество коробок на складе.
Всего мы истратим 54 + 59 = 113 дней.
0,0(0 оценок)
Ответ:
Alnaalnaalna
Alnaalnaalna
18.01.2020 04:36

Если вы знаете о битовых операциях, то ответ тривиальный:  1 << N (это означает следующее: взять двоичную запись числа 1 и сдвинуть её на N позиций влево, дописав N нулей.

Если не знаете, то можно написать цикл, в котором, например, N раз будет умножение на 2. Я напишу оба варианта, соответственно, программа будет выдавать два равных числа. Выбирайте тот, что вам больше нравится.

Код (C++):

#include <iostream>

int main() {

   int N;

   std::cin >> N;

   std::cout << (1 << N) << "\n";

   int power = 1;

   for (int i = 0; i < N; i++) {

       power *= 2;

   }

   std::cout << power;

}

Пример ввода:

5

Пример вывода:

32

32

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