Оксана прибавляет к числу его последнюю цифру и вычитает первую. Назовём такое действие операцией. К полученному числу девочка снова прибавляет его последнюю цифру и вычитает первую, затем прибавляет к результату его последнюю цифру и вычитает первую и т.д. Оксана начала с числа 12 и после первой операции получила число 13 (12+2−1), потом 15 (13+3−1), 19, 27 и так далее.
Ответьте на следующие вопросы. Во всех случаях выполнение операций начинается с числа 12.
Какое число получится после 8 операций?
Какое наибольшее число можно получить, если количество операций не ограничено?
Сколько раз за время 1024 операций встретится круглое число (оканчивающееся на 0)?
1 Ответ
Чтобы найти наибольшее число, которое можно получить без ограничений на количество операций, мы можем продолжать прибавлять последнюю цифру к числу и вычитать первую, пока не получим круглое число. Например, если мы начнем с числа 25, то после бесконечного количества операций мы получим число 0, которое является круглым. Если бы мы начали с числа 35, то получили бы число 0 после 3 операций.
Наконец, чтобы найти, сколько раз круглое число встретится за время 1024 операций, мы можем просто посчитать, сколько чисел будет оканчиваться на 0. В каждой операции Оксана прибавляет последнюю цифру числа и вычитает из него первую.
Ответ:
- 36
- 54
- 49
- 101
#include <iostream>
using namespace std;
int calc(int x) {
int a = x % 10;
int b = x / 10;
return x + a — b;
}
int main() {
int x = 12;
for (int i = 1; i <= 8; i++) {
x = calc(x);
cout << i << «-operation ==> » << x << endl;
}
}