用 C# 编程求 1到 n 的对称数
假设 n 为 1,000,000吧,Console 会显示不出来前面一部分数。可以将 n 设小些,比如说10000。在下面的C#程序代码中,n为 maxnumber 的整型(int)变量名。
public static bool findNumber(int n)
{
string number = n.ToString();
for (int i = 0; i < number.Length / 2; i++)
{
if (number[i] != number[number.Length - 1 - i]) return false;
}
return true;
}
public static void Main(string[] args)
{
int maxnumber = 1000000;
for (int i = 1; i <= maxnumber; i++)
{
if (findNumber(i))
{
Console.WriteLine(i);
}
}
}
上面所编写的程序是一种拆分字符串的方法,此方法在网上极为常见的。下面是另一种方法:
public static bool findNumber(int n)
{
int nValue = 0;
int temp = n;
while (temp > 0)
{
nValue = nValue * 10 + temp % 10;
temp /= 10;
}
return (nValue == n);
}
把findNumber()方法改写了。这个方法是将数的顺序反转,判断反转后的数与原来的数是否相等。
浙公网安备 33010602011771号