当前位置:编程学习 > C#/ASP.NET >>

我能解决我的问题的,我给分

CSDN怎么不能上传文件啊,我给出
地址
(说明绝不是什么病毒)
题目内容全在压缩文件里
我用的是vs2008的,你可以只放入.cs文件到其它版本里面编译 --------------------编程问答-------------------- 我看看呢,
------- --------------------编程问答-------------------- 出了什么问题,可以说说看啊,可以直接把问题贴出来或把问题代码提出来啊! --------------------编程问答-------------------- LZ可到社区支持版块提出疑问 --------------------编程问答-------------------- 你的错误在判断是否均匀结构的方法上: 


/// <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 
--------------------编程问答-------------------- 参考代码:

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;
        }
    }

--------------------编程问答-------------------- 另一个帖子已经给你回了(http://topic.csdn.net/u/20080619/21/1f568275-42e5-43a0-b8c5-560c8b18034b.html)
又发一个啊
--------------------编程问答--------------------
可以上传
--------------------编程问答-------------------- 直接发上来就好了。 --------------------编程问答-------------------- up`````````````
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,