本帖最后由 曲佳奇 于 2014-6-11 21:25 编辑
- import java.util.Scanner;
- public class Test2 {
- public static void main(String[] args) {
- int add;
- int len,temp,i,j,count=0;;
- int[] a= new int[10000];
- Scanner sc = new Scanner(System.in);
- int n=sc.nextInt();
- a[0]=1;
- len=1;
- for(i=2;i<=n;i++){
- for(j=1,add=0;j<=len;j++){
- temp=a[j-1]*i+add;
- a[j-1]=temp%10;
- add=temp/10;
- }
- while(add!=0){
- len++;
- a[len-1]=add%10;
- add/=10;
- }
- }
- System.out.print(n+"的阶乘为:");
- for(int k=len;k>=1;k--){
- if(a[k-1]==0)
- count++;
- System.out.print(a[k-1]);
- }
- System.out.println();
- System.out.println("零的个数为:"+count);
- }
- }
复制代码
用数组模拟阶乘
|