10000的阶乘
来源:互联网 发布:淘宝百货店铺名字大全 编辑:程序博客网 时间:2024/04/29 21:23
int iN = int.Parse( txtN.Text);//取得N的值
ArrayList arrJG = new ArrayList(); //存放结果的数组
int iZJJG = 0;//存放中间结果
int iJW = 0;//存放进位
arrJG.Add( (object)1);//数组的首个值是1
for( int i = 2; i <= iN; i++)
{
int iArrLength = arrJG.Count;//去数组的长度
for( int iArr = 0; iArr < iArrLength ; iArr++)
{
iZJJG = int.Parse( arrJG[iArr].ToString());
if( iZJJG != 0)
{
iZJJG *= i;
arrJG[iArr] = (object)iZJJG;
}
}
for( int iArr = 0;iArr < iArrLength; iArr++)
{
int iStrLng = arrJG[iArr].ToString().Length;//数组元素的长度
if( iStrLng > 5)
{
iJW = int.Parse( arrJG[iArr].ToString().Substring(0,iStrLng - 5));
if( iArr + 1 != iArrLength)
{
arrJG[iArr + 1] = int.Parse( arrJG[iArr + 1].ToString()) + iJW;
arrJG[iArr] = (object)arrJG[iArr].ToString().Substring( iStrLng-5);
}
else
{
arrJG[iArr] = (object)arrJG[iArr].ToString().Substring( iStrLng-5);
arrJG.Add( (object)iJW );
}
}
}
}
int iArrLength2 = arrJG.Count;
string strValue = "";
for( int a = iArrLength2-1; a >= 0; a--)
{
if( arrJG[a].ToString() != "0")
{
strValue += arrJG[a].ToString();
}
}
txtReturn.Text = strValue;
结果用了135秒,唉,今天改了下,用时35秒,代码如下:
ArrayList arrZJJG = new ArrayList();
//int[] iZJJG = new int[]{};//数组中每个元素在乘后所放的值
string[] strResult = new string[]{};//结果的字符串数组
string strTmStrt = System.DateTime.Now.ToString();//去系统的当前时间
string strTmEnd = "";//程序完成后的系统时间。
int iArrLngth = 1;//iZJJG数组的长度
int temp;//临时
int last ;
arrZJJG.Add( (object)1);
for( int i = 1; i <= para_iN; i++)
{
last = 0;
for( int iLen = 0; iLen < iArrLngth; iLen++)
{
temp = int.Parse( arrZJJG[iLen].ToString()) * i + last;
if( temp != 0)
{
arrZJJG[iLen] = temp % 100000;
last = temp / 100000;
}
else
{
arrZJJG[iLen] =(object) "00000";
}
}
if( last != 0)
{
arrZJJG.Add( last);
last = last / 100000;
iArrLngth = arrZJJG.Count;
}
}
iArrLngth = arrZJJG.Count;
string strbb = "";
for( int i = iArrLngth; i > 0; i--)
{
strbb += arrZJJG[i-1].ToString() ;
}
strTmEnd = System.DateTime.Now.ToString();
strbb += "(" + strTmStrt +")" + "(" +strTmEnd +")";
- 10000的阶乘
- 10000的阶乘
- 10000的阶乘
- 10000的阶乘
- 10000的阶乘
- 计算10000的阶乘
- 10000以内的阶乘
- 求10000的阶乘
- Hdu 10000的阶乘
- 10000的阶乘
- 计算10000的阶乘
- 计算10000的阶乘
- 10000的阶乘的算法(大数的阶乘)
- 10000的阶乘的算法(大数的阶乘)
- 【代码】10000以内的阶乘
- 10000的阶乘第二版
- SCU - 1689 算阶乘(10000的阶乘)
- [原创]阶乘(1000的阶乘,10000的阶乘...)以及大数相乘(几十万位乘几十万位)
- 前些天碰到了一件好玩的事情,很值得思考的
- 网站历史博物馆
- 找工作真的很难啊!!!!!!!
- 软件公司的绩效管理和内部消耗
- 决心
- 10000的阶乘
- 使用远程线程制作不死进程
- JAVA程序员面试之《葵花宝典》
- 两晋南北朝·高洋(上)
- 关于Asp.net中使用以下代码导出Excel表格的问题
- vc 助手
- VC笔记
- 公司软件开发人员绩效评价标准
- DSA