- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace xunzhaohuiwenshu
- {
- class Program
- {
- //将m转换为偶数位回文数
- static int E_Double(int m)
- {
- int r = 0, i = 0, tem;
- tem = m;
- for (i = 0; ; i++)
- {
- r = r * 10 + m % 10;
- m = m / 10;
- tem = tem * 10;
- if (m == 0)
- break;
- }
- r += tem;
- return r;
- }
- //将m转换为奇数位回文数
- static int O_Double(int m)
- {
- int r = 0, i = 0, tem;
- tem = m;
- m = m / 10;
- for (i = 0; ; i++)
- {
- if (m == 0)
- break;
- r = r * 10 + m % 10;
- m = m / 10;
- tem = tem * 10;
- }
- r += tem;
- return r;
- }
- static void Main(string[] args)
- {
- for (; ; )
- {
- int n, i, q, m,o;
- Console.WriteLine("请输入范围");
- o=n= Convert.ToInt32(Console.ReadLine());
- //判断输入数的位数i
- for (i = 1; ; i++)
- {
- if (n == 0)
- break;
- n = n / 10;
- }
- //从q=1位数开始找回文数
- for (q = 1; q < i; q++)
- {
- //当为偶数位时,利用E_Double找出q位的回文数
- if (q % 2 == 0)
- {
- for (m = (int)Math.Pow(10, (q / 2) - 1); m <= (int)Math.Pow(10, q / 2) - 1; m++)
- {
- if (E_Double(m) > o)
- break;
- else
- Console.Write(E_Double(m) + "\\t");
- }
- Console.WriteLine();
- }
- //当为奇数位时,利用O_Double找出q位的回文数
- else
- {
- for (m = (int)Math.Pow(10, q / 2); m <= (int)Math.Pow(10, (q / 2) + 1) - 1; m++)
- {
- if (O_Double(m) > o)
- break;
- else
- Console.Write(O_Double(m) + "\\t");
- }
- Console.WriteLine();
- }
- }
- }
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2110201513867.html
来源: http://www.codesnippet.cn/detail/2110201513867.html