fudan
?>

я вообще не понимаю как делать. можно с решением. ​

Информатика

Ответы

chernovol1985255

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

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


Автомат получает на вход четырёхзначное число. По этому числу строится новое число по следующим прав

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

я вообще не понимаю как делать. можно с решением. ​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Galiaahmatova4447
Tsibrova
ЭдуардовнаКлючников1361
kovansckaya201313
okasnab
eeirikh
Платон Демцун
Исакова-Александрович511
Mikhailovna1444
inainainainaina0073
oksit
bal4shovser16
yulyatmb
Новицкий1107
николаевич-Елена988