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

Задание в прикреп фото (№1))


Задание в прикреп фото (№1))

Показать ответ
Ответ:
arinka90
arinka90
27.08.2022 09:21

ответ: 5533

Проще всего решить данную задачу через программу на питоне:

s = '5' * 72

while '333' in s or '555' in s:

   if '555' in s:

       s = s.replace('555', '3', 1)

   else:

       s = s.replace('333', '5', 1)

print(s)

Но, если делать вручную, тогда так:

Возьмём 10 символов из строки, состоящей из 72 идущих подряд цифр 5.

5555555555

Читаем программу: ЕСЛИ нашлось (555) ТО заменить (555, 3)

555 555 555 5

 3      3     3    5

Стоит заметить, что у нас получилась строка 3335, но не спешим её заменять на 5, ведь по условию нужно найти все 5 и только если их нет, переходить к else (ИНАЧЕ заменить (333, 5))

Исходя из этого, заменим всю строку по 1 условию (ЕСЛИ нашлось (555) ТО заменить (555, 3)), т.е. просто поделим всё количество на 3.

72 / 3 = 24 без остатка (Это значит, что все пятёрки заменились на тройки)

Итак, остались 24 тройки, запишем 10 символов и посмотрим, что будет:

3333333333

333 333 333 3

 5      5    5    3      

         3           3        

Мы видим, что из 9 троек получилась ровно 1, поделим 24 на 9

У нас получится 2 и ещё 6 в остатке, т.е. выглядеть строка будет так:

33 333333

Заменяем на "5"

333 333 33

 5      5   33

Это и есть ответ.

0,0(0 оценок)
Ответ:
nikusachev01
nikusachev01
11.03.2022 12:09

#include <iostream>

#include <cmath>

using namespace std;

int main() {

   int N, line[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};

   cin >> N;

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

       for (int j = 0; j < N; j++)

           cout << line[j];

       if(i!=pow(2, N)-1)

           cout << endl;

       for (int j = N - 1; j >= 0; j--) {

           if (line[j] == 0)

               line[j] = 1;

           else {

               line[j] = 0;

               break;

           }

       }

   }

}

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