我已经编写了反转数字的程序部分:
int n = 0;
n = Convert.ToInt32(textBox1.Text);
double l = n;
double reverse = 0;
while (left > 0)
{
double r = left % 10;
reverse = reverse * 10 + r;
l = l / 10;
}
double final = n + rev;
但是,如果最终的双倍不是回文,我希望程序将最终结果添加到回文中,并继续这样做,直到找到回文。问题出在条件语句中。我应该给if语句什么条件?
答案 0 :(得分:2)
我认为您可以反转字符串而不是将其视为数字:
using System.Linq;
var N = textBox1.Text;
var reversedN = new string(n.Reverse().ToArray());
var result = Convert.ToInt32(reversedN);
答案 1 :(得分:1)
bool isPalindrome(String s)
{
char[] charArray = s.ToCharArray();
Array.Reverse( charArray );
return s.equals(new string(charArray));
}
对字符串进行回文检查。如果它不是回文,请将字符串转换为int,添加任意内容,将其转换回字符串,重复。
避免在此应用程序中使用double
。坚持int
。