阶乘大数问题

阶乘大数问题

1、题目内容

题目描述
请编写一个程序,从键盘上输入n(n 的范围是1~20),求n 的阶乘。

输入描述:
输入第一行为样例数m,接下来m行每行一个整数n,n不超过20。

输出描述:
输出m行表示对应的n的阶乘。

2、题目分析

在这个题目中,我们的难点就在于如果直接根据阶乘的定义去算的话,可能会出现因为数据过大而越界的问题,每当出现这种问题时,我们首先想到的应该是使用数组进行模拟计算,经验发现,一般只要涉及到大数问题,都应该使用数组来进行解决。 关于阶乘的模拟,大家可以看这个:https://blog.csdn.net/lisp1995/article/details/52403507

3、代码实现

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
        int m=input.nextInt();
        while(m!=0)
        {
        	int i,j,k,t;
        	int n=input.nextInt();
        	int mat[]=new int[26];
        	mat[0]=1;
        	int len=1;
        	for(i=2;i<=n;i++)
        	{
        		t=0;
        		for(j=0;j=0;i--)
        	{
        		System.out.print(mat[i]);
        	}
        	System.out.println();
        	m--;
        }
		input.close();
     }
}

www.weupgo.cn

觉得文章对你有用的话,欢迎来到**我的小站**查看更多内容。

你可能感兴趣的:(C语言程序设计)