2012年11月28日

10000阶乘

摘要: N! (阶乘)我们并不陌生,循环乘积就能得到结果。如果用一个64位的数据类型来存放乘积的结果(有符号最大数是9223372036854775807),随着N的增大,乘积的结果势必会溢出(除非我们的计算机每一位不仅仅是2态,而是多态的),必须得用更大的空间来存放。 (PS: N!的位数=[lgN!]+1=[lg1+lg2+.....+lg10000]+1,10000!的位数=35660) 于是我构造一个int数组来表示一个多位数,有多少位就用多大的数组来表示,例如123对应的数组就是{3,2,1}.那么数与数的乘积就转化为数组与数组的“乘积”。HOW TO DO IT?先来算个简单的乘法123& 阅读全文

posted @ 2012-11-28 13:09 BlueSpirit 阅读(481) 评论(0) 推荐(0)

导航