我怎样才能找到一个数字的回文?

时间:2013-08-09 00:56:06

标签: c# palindrome

我已经编写了反转数字的程序部分:

        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语句什么条件?

2 个答案:

答案 0 :(得分:2)

我认为您可以反转字符串而不是将其视为数字:

using System.Linq;

var N = textBox1.Text;
var reversedN = new string(n.Reverse().ToArray());
var result = Convert.ToInt32(reversedN);

答案 1 :(得分:1)

this thread

一样
bool isPalindrome(String s)
{
    char[] charArray = s.ToCharArray();
    Array.Reverse( charArray );
    return s.equals(new string(charArray));
}

对字符串进行回文检查。如果它不是回文,请将字符串转换为int,添加任意内容,将其转换回字符串,重复。

避免在此应用程序中使用double。坚持int