回文数是这样的一个数:从左往右读与从右往左读,显示的数据完全一致。下面是一些例子:
"hyh"、"lcl"、"csc"、121、1221等等。
1.以整形数作为谈论,当一个整形数为一个回文数时,可以通过给定的数构造出另一个数——高低位转换获得
2.对构造出来的数与给定的数进行比较,如果相等,则该数为一个回文数,否则不是。
回文数是这样的一个数:从左往右读与从右往左读,显示的数据完全一致。下面是一些例子:
"hyh"、"lcl"、"csc"、121、1221等等。
1.以整形数作为谈论,当一个整形数为一个回文数时,可以通过给定的数构造出另一个数——高低位转换获得
2.对构造出来的数与给定的数进行比较,如果相等,则该数为一个回文数,否则不是。
具体实现代码如下:
1
using System;2
using System.Collections.Generic;3
using System.Linq;4
using System.Text;5
using System.IO;6

7
namespace HuiWenShu8


{9
class Program10

{11
static void Main(string[] args)12

{13
SysteShowAll();14
}15

16
public static void SysteShowAll()17

{18
StreamWriter sw = new StreamWriter("HuiWenShu.txt", false, Encoding.UTF8);19
uint count = 0;20
for (uint i = 1; i <= 1000000000; ++i)21

{22
if (IsHuiWenShu(i))23

{24
++count;25
sw.WriteLine("第 {0} 个回文数为:{1}", count, i);26
}27
}28
sw.Flush();29
sw.Close();30
sw.Dispose();31
Console.WriteLine("1到100,000,000中有回文数 {0} 个", count);32
Console.ReadLine();33
}34

35
public static void UserJudge()36

{ 37
Console.WriteLine("求1到100,000,000中的第 K 个回文数,请输入 K ?");38
uint k = uint.Parse(Console.ReadLine().Trim());39
uint num = HuiWenShuAt(k);40
Console.WriteLine("1到100,000,000中的第 {0} 个回文数是:{1}",k,num);41
Console.ReadLine();42
}43

44
public static uint HuiWenShuAt(uint index)45

{46
if (index <= 0)47
throw new ArgumentException("输入无效!");48

49
uint count = 1;50
uint i = 1;51
for (; count <= index; ++i)52

{53
if (IsHuiWenShu(i) == true)54
++count;55
}56
return (i-1);57
}58

59
public static bool IsHuiWenShu(uint x)60

{61
uint temp = 0;62
uint num = x;63
while (num != 0)//反转x,存储在temp中64

{65
temp *= 10;66
temp += num % 10;67
num = num / 10;68
}69

70
return temp == x ? true : false;71
}72
}//End class73
}
浙公网安备 33010602011771号