Для каждого натурального числа X можно определить "развёрнутое" число Rev(X) следующим...

0 голосов
26 просмотров

Для каждого натурального числа 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)).


Информатика (25 баллов) | 26 просмотров
0

Язык программирования?

0

c++

0

Ещё вопрос: нужна ли длинная арифметика, или же обычного long int хватит для исходного числа?

0

long int вполне хватит

Дан 1 ответ
0 голосов

#include

using namespace std;

unsigned long int Rev(unsigned long int x);

int main()  

{

unsigned long int a, b;

cout

cin >> a;

cout

cin >> b;

cout

}

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 файл */

(11.1k баллов)