Răspuns:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n, p = 1, m = 0, k = 0, x, c;
cin >> n;
while (n != 0)
{
cin >> x;
x = x / pow(10, k);
if (x != 0)
c = x % 10;
else c = n % 10;
m = c * p + m;
n = n / 10;
p = p * 10;
k++;
}
cout << m;
return 0;
}
Explicație:
Am inlocuit structura pentru (sau for in C++) cu instructiunea "x = x / pow(10,k)", deoarece acea structura elimina practic ultimele k cifre ale lui x, adica il imparte pe x la 10 de k ori. Acest lucru e tot una cu a spune ca x este impartit la 10^k. In rest, este exact acelasi algoritm.