你如果想算出结果,那就用BIgInteger类,然后遍历一个一个数。
如果找规律(只有尾部有规律,全部的不行),凡5倍数(包括5)会在末端产生1个0,25产生2个0,125三个0,625四个0。。。
还有一种方法,可以算全部,也可以算尾部,你把每一次计算的结果用数组存,一个元素存一位,例如4!= 24;那就让arr[0]=4,arr[1] = 2;(倒过来的),把算5!的话,就把5乘以4!的数组每一位,超过10的,往后推,每一个元素只能存0-9的数字。数组长度先定个10000吧,够了。
估计你不怎么懂,我说的比较烂。。。 |