计算 任意大N的M次方 , 1000次方以内速度较快

    简单计算, 拆分计算 

 

     private string CaculateInfo(int n,int m)
        {
            string info = "1";
            for (int i = 0; i < m; i++)
            {
                info = AddStr(info,n);
            }
            return info;
        }
        //StringBuilder sb = new StringBuilder();
      
        private string AddStr(string strNumber,int n)
        {
            StringBuilder sb = new StringBuilder();
            //char[] ss=  strNumber.ToArray();
            char[] strarray= strNumber.ToCharArray();
            int  addcount = 0;  //标识是否进位
            for (int i = strarray.Length-1; i >=0; i--)
            {
                int q =Convert.ToInt32(strarray[i].ToString());
                int cunrentValue = q * n + addcount;
                if (cunrentValue >= 10)
                {
                    addcount = cunrentValue / 10;
                    sb.Insert(0, cunrentValue%10);
                }
                else
                {
                    addcount = 0;
                    sb.Insert(0,cunrentValue);
                }
            }
            if (0 != addcount)
            {
                sb.Insert(0, addcount);
            }
            return sb.ToString();
        }

posted @ 2013-10-30 10:36  风雨摇摆  阅读(273)  评论(0)    收藏  举报