#include<iostream> #include<string> #include<sstream> using namespace std ; size_t reverseint(size_t num){ size_t inrev=0 ; while(num>0){ inrev = inrev*10+num%10 ; num /= 10 ; } return inrev ; } size_t reva(size_t num){ return num+reverseint(num) ; } int check_pd(unsigned int num){ stringstream ss ; string str ; ss << num ; ss >> str ; for(int i=0 ; i<str.length()>>1 ; ++i) if(str[i]!=str[str.length()-i-1]) return 0 ; return 1 ; } int main(){ int t, counter; size_t num ; cin >> t ; while(t--){ counter = 0 ; cin >> num ; do{ num = reva(num) ; counter++ ; }while(!check_pd(num)) ; cout << counter << " " << num << endl ; } return 0 ; }
2013年8月25日 星期日
c015. Reverse and Add、UVA 10018
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言