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

数组问题

一个数有1到10000的整形数,而一个数A可有有1到10000中的每个项d(B), d(1)=1+1; d(2)=2+2=4;d(3)=3+3=6 ...d(98)=98+9+8=115,d(99)=99+9+9=117...d(998)=998+9+9+8=1024生成,也就是d(n)=n+ n的个各位之和,而A必须在1到10000之间.
求A不在B中的数(也就是A包含B,求A不在B内的数)
--------------------编程问答-------------------- private void Bind()
    {
        int M = 10000;

        List<int> A = new List<int>(M);
        List<int> B = new List<int>();
        for (int i = 1; i < M; i++)
        {
            A.Add(i);
            int n = 0;
            if (i.ToString().Length == 1)
            {
                n = i + i;
            }
            if (i.ToString().Length == 2)
            {
                string sum = i.ToString();
                n = int.Parse(sum.Substring(0,1))+int.Parse(sum.Substring(1,1))+i;
            }
            if (i.ToString().Length == 3)
            {
                string sum = i.ToString();
                n = int.Parse(sum.Substring(0, 1)) + int.Parse(sum.Substring(1, 1)) + int.Parse(sum.Substring(2, 1)) + i;
            }
            if (i.ToString().Length == 4)
            {
                string sum = i.ToString();
                n = int.Parse(sum.Substring(0, 1)) + int.Parse(sum.Substring(1, 1)) + int.Parse(sum.Substring(2, 1)) + int.Parse(sum.Substring(3, 1)) + i;
            }
            if (n > 0 && n < M)
            {
                B.Add(n);
            }
        }

        for (int i = 0; i < A.Count; i++)
        {
            bool fal=false;
            for (int j = 0; j < B.Count; j++)
            {
                if (A[i] == B[j])
                {
                    fal = true;
                    continue;
                }
            }
            if (fal == false)
            {
                Response.Write(A[i]+"<br>");
            }
        }
    }

但一个数是10000,如果是比这个数10000还要大呢(如1亿),那要怎么处理还合理呢?请高手指教 --------------------编程问答-------------------- 1、LZ的代码要优化,if太多,宜用if...else if ...else结构;
2、foreach比for循环要快;
3、如有1亿就把它分成几个部分,先分别处理,再集中结果集;
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,