改动了一下
来源:互联网 发布:五笔查询软件 编辑:程序博客网 时间:2024/05/17 04:27
今天没事,改了下
using System;
namespace ConsoleApplication5
{
class Class1
{
/* 此问题即高精度算法,常用于银行,也可以用来算PI后几百位*/
static int[] factorial(int n) //阶乘算法,采用一维组数来保存
{
const int arraynum=200; //数组维数, 如果是1000的阶乘,变动此数即可
int[] fac = new int[arraynum]; //结果数组
int[] add = new int[arraynum]; //进位数组
for(int i=0; i<arraynum; i++) //初始化结果数组,第一个数为1, 即10000.....
fac[i]=0;
fac[0]=1;
for(int i=0; i<arraynum; i++) //初始化时位数组为0,即000000
add[i]=0;
for (int r=1;r<=n; r++) //迭代开始,即1*2*3*....n
{
for (int k=1;k<arraynum;k+=2)
{
add[k]=(fac[k-1] *r + add[k-1]) /10; //进位数组赋值,进位是从1开始
k--;
fac[k]=(fac[k] * r + add[k]) % 10; //结果数组赋值,结果是从0开始
}
}
return fac; //返回结果数组
}
static void Main(string[] args)
{
try
{
Console.WriteLine("请输入1-100的数字!");
String temp = Console.ReadLine();
int n= Int32.Parse(temp);
if(n<1||n>100)
throw new Exception("不是1-100范围的数字");
int[] result=factorial(n);
//逆向输出
for (int i=result.Length-1;i>=0;i--)
{
if(result[i]==0) continue;//去掉数组前面是0的元素
for(;i>=0;i--)
{
Console.Write("{0}",result[i]);
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.ReadLine();
}
//程序结束
}
}
}
- 改动了一下
- 改动了一下的堆排序
- 呵呵,改动了一下我的blog模板
- 见到的一篇IOCP流程 自己用demo实现了一下, 简单照抄,改动了一点点
- 钱币问题(自己没做出来,代码是看别人的改动了一下)
- hibernate中session中的update方法,改动了一下,让数据库中原有的属性不变,只更新传入对象中改动的属性
- pe_xscan做了几个改动
- 接着上回的一章,我稍加改动了一下apache+svn+ssl集成之后创建的subversion的版本的路径报错
- 接着上回的一章,我稍加改动了一下apache+svn+ssl集成之后创建的subversion的版本的路径报错
- Google对Kernel做了哪些改动?
- 关注到谷歌的政策性改动了,记录~
- 激活了,庆祝一下!
- 试了一下Blog
- 整理了一下
- 毕业了,纪念一下!
- 体验了一下Ubuntu
- 终于休息了一下
- up一下了
- WINDOWS下安装MRTG全攻略
- Cisco路由器的安全配置方案
- 使用yacc对文件进行操作
- Window2003下Apache2.0.55+Tomcat5.5.16+PHP5.1.2的安装整合
- 轻轨之看报纸
- 改动了一下
- 遭遇媒体暴力,欧典地板死不瞑目
- 在Linux下安装和使用MySQL
- 百度推出政府搜索
- 地球上最快的矢量图形软件 Xrar LX
- Craiglist 面临来自微软的挑战
- 视频 - 地下原子弹爆炸
- 比尔-盖茨:未来普通纸笔将消失
- 如何正确选择ARM控制器和操作系统