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

Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим правилам: 1) Складываются первая и последняя, а также вторая и третья цифры исходного числа.
2) Полученные два числа записываются друг за другом в порядке возрастания (без разделителей).
Пример. Исходное число: 2357. Суммы: 2 + 7 = 9; 3 + 5 = 8. Результат: 89.
укажите наибольшее число ,в результате обработки которого автомат выдаст число 815.

Показать ответ
Ответ:
Рад1111111
Рад1111111
14.04.2021 20:06

Чтобы решить эту задачу, воспользуемся методом программирования:

1) напишем функцию, которая получает число в качестве аргумента и моделируя процесс преобразивания из условия возвращает результат:

int f(int n){

   int d[4];

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

       d[3 - i] = n % 10;

       n /= 10;

   }

   int u = d[0] + d[3], v = d[1] + d[2];

   string res;

   u < v ? res += to_string(u) + to_string(v) : res += to_string(v) + to_string(u);

   return stoi(res);

}

2) так как нам нужно найти наибольшее четырехзначаное число, дающее результат 815, то запускаем цикл, идущий от самого большого четырехзначного числа(9999) до самого маленького(1000), и как только нам встретится число, дающее в результате нужное число(815), выведем его в консоль, и закончим работу программы, то, что выведет программа и будет ответом:

полный код(результат работы на фото) :

#include <iostream>

using namespace std;

int f(int n){

   int d[4];

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

       d[3 - i] = n % 10;

       n /= 10;

   }

   int u = d[0] + d[3], v = d[1] + d[2];

   string res;

   u < v ? res += to_string(u) + to_string(v) : res += to_string(v) + to_string(u);

   return stoi(res);

}

int main(){

   for(int i = 9999; i >= 1000; i--){

       if(f(i) == 815){

           cout << i;

           return 0;

       }

   }

}

ответ: 9806


Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим прав
0,0(0 оценок)
Ответ:
nikitalarin843
nikitalarin843
14.04.2021 20:06

ответ:9806

Объяснение:

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