Для каждого натурального числа X можно определить "развёрнутое" число Rev(X) следующим образом: 1. Число X записывается в десятичной системе счисления, например: 1021400. 2. Первая цифра меняется местами с последней, вторая - с предпоследней, и так далее. В результате цифры в строке оказываются в обратном порядке, например: 0041201 3. Все нули, идущие в начале строки, стираются, например: 41201. 4. Получившееся число называется Rev(X). Например, если X = 123 то Rev(X) = 321 и если X = 100 то Rev(X) =1. Вам дано два целых чисел A и B подсчитайте Rev(Rev(A) + Rev(B)).
Ответы на вопрос
Ответил igorShap
0
#include <iostream>
using namespace std;
unsigned long int Rev(unsigned long int x);
int main()
{
unsigned long int a, b;
cout << "Input a natural number A: ";
cin >> a;
cout << "Input a natural number B: ";
cin >> b;
cout << "Rev(Rev(A) + Rev(B)) = " << Rev(Rev(a) + Rev(b));
}
unsigned long int Rev(unsigned long int x) {
unsigned long int numb = 0;
while (x != 0) {
numb = (numb + x % 10) * 10;
x /= 10;
}
return numb / 10;
}
/* Форматирование, скорее всего, не сохранится, поэтому прикрепляю .cpp файл */
Приложения:
Новые вопросы