計算一個數加上reverse之後的數,這個步驟要重覆幾次,才會使最後的數是迴文
[心得]
1.中文題目有限制最多100個測資,但是ACM網站改版後拿掉這段了 OTL
2.reverse的方法
3.數據表示範圍,int:-2147483648~2147489647
unsigned (int):0~4294967295
#include <stdio.h>
unsigned int Rev(unsigned int integer)
{
unsigned int rev=0;
while(integer>0)
{
rev=rev*10+integer%10;
integer=integer/10;
}
return rev;
}
int main()
{
int n;
int i,j;
unsigned int integer;
unsigned int reverse;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%u",&integer);
reverse=Rev(integer);
for(j=1; ;j++)
{
integer=integer+reverse;
reverse=Rev(integer);
if(reverse==integer) break;
}
printf("%d %u\n",j,reverse);
}
return 0;
}
留言列表