~cpp
#include<iostream>
#include<math.h>
using namespace std;
long inverseDigit(long num);
bool isCircularLetter(long num);
int main()
{
int testCount=0;
cin>>testCount;
long* number=new long[testCount];
int* calCount=new int[testCount];
int i=0;
for(i=0;i<testCount;i++)
cin>>number[i];
for(i=0;i<testCount;i++)
{
calCount[i]=0;
while(!isCircularLetter(number[i]))
{
calCount[i]++;
number[i]=number[i]+inverseDigit(number[i]);
}
}
cout<<endl;
for(i=0;i<testCount;i++)
cout<<calCount[i]<<" "<<number[i]<<endl;
return 0;
}
long inverseDigit(long num)
{
int arrayOfDigit[10];
int count=-1;
while(num!=0)
{
arrayOfDigit[++count]=num%10;
num=num/10;
}
long returnValue=0;
for(int i=count ; i>=0 ; i--)
returnValue+=arrayOfDigit[i]*pow(10,count-i);
return returnValue;
}
bool isCircularLetter(long num)
{
int arrayOfDigit[10];
int count=-1;
while( num !=0 )//10으로 나눈 나머지가 몇인가?1이상이면
{
arrayOfDigit[++count]=num%10;
num=num/10;
}
int i=0;
int j=count;
while(arrayOfDigit[i]==arrayOfDigit[j])
{
i++;
j--;
if(i>j)
return true;
}
return false;
}