Saturday, June 13, 2015

UVa 10018 - Reverse and Add

// UVa 10018 - Reverse and Add

#include <iostream>
using namespace std;

#define datatype unsigned long long int

datatype reverse(datatype n) {
	datatype s = 0;
	while (n) {
		s = s * 10 + n % 10;
		n /= 10;
	}
	return s;
}

int main() {
	int c;
	for (cin >> c; c; c--) {
		datatype n;
		cin >> n;
		int s = 0;
		datatype m = reverse(n);
		while (n != m) {
			s++;
			n += m;
			m = reverse(n);
		}
		cout << s << " " << n << endl;

	}

	return 0;
}

No comments:

Post a Comment