要求说出来费不了多少时间吧。
给你个反转数字的方法参考一下:        static int getRevserNum(int i)
        {
            char[] ch = i.ToString().ToCharArray();
            Array.Reverse(ch);
            return Convert.ToInt32(new String(ch));
        }

解决方案 »

  1.   

    参考一下:    class Program
        {
            static char[] judgeChar = { '5', '6', '7', '8', '9' };
            static int notSymmetrical,Times;
            static void Main(string[] args)
            {
                for (int i = 0; i < 15000; i++)
                {
                    Times = 0;
                    if (!judgeSymmetricalNumber(i.ToString())) notSymmetrical++;
                        Console.WriteLine(i);
                }
                Console.WriteLine(notSymmetrical);
                Console.ReadLine();
            }
            //是否符合要求
            static bool judgeSymmetricalNumber(string str)
            {
                if (isSymmetrical(str)) return true;
                while(Times < 66)
                {
                    Times++;
                    string s = GetSum(str,getReveserStr(str));
                    return judgeSymmetricalNumber(s);
                }
                return false;
            }
            //获取翻转字符串
            static string getReveserStr(string str)
            {
                char[] ch = str.ToCharArray();
                Array.Reverse(ch);
                return new String(ch);
            }
            //判断是否为对称结构
            static bool isSymmetrical(string str)
            {
                if(str.IndexOfAny(judgeChar) == -1) return true;
                else return str.Equals(getReveserStr(str));
            }
            //字符串相加
            static string GetSum(string strNumA, string strNumB)
            {
                StringBuilder sb = new StringBuilder(30);
                int flag = 0;
                for (int i = 0; i < strNumB.Length; i++)
                {
                    int temp = strNumA[i] + strNumB[i] - 96;               
                    temp += flag;
                    flag = (temp > 9 ? 1 : 0);
                    sb.Append(temp % 10);
                }
                if (flag == 1) sb.Append(1);
                string strs = getReveserStr(sb.ToString());
                return strs;
            }
        }
      

  2.   

    你的错误在判断是否均匀结构的方法上:/// <summary>
            /// 此数是不是小于5,如果是小于5肯定是对称
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            bool lessThanFive(string num)
            {
                chs = ConvertStrToArray(num);            for (int i = 0; i < chs.Length; i++)
                {
                    if (chs[i] >= 5)
                        return false;
                }            return true;
            }
    包含大于5的数字的时候也可以是对称结构的  如11611
    具体参考楼上