求大家帮个忙,c++数字逆序题

一个正整数,将其逆序排列得到一个新数,原数与新数需满足要求:两个数中较大者是较小者的整数倍,程序输入一个正整数N,表示要输出第N个(从1开始判断)满足上述要求的数。

因为从1到9的所有数字逆序后的数字与原数相同,因此都满足要求。

而10逆序后为1,并且10是1的整数倍,因此也满足要求。

所以,如果输入的N为11,则输出第11个满足要求的数,输出的这个数是11,因为从1到11这11个数字都满足要求。

输入说明 :

程序输入包括多行,每一行仅包含一个正整数 1<= N < = 10000,表示:要求程序输出第N个满足上述要求的数。

输出说明 :

程序输出为多行,每一行包含一个正整数,代表第N个满足上述要求的数。
行与行之间没有多行空行,行首行尾也没有多余空格。

输入范例 :

1
2
10
11
12
输出范例 :

1
2
10
11
20