2701 - 求阶乘

通过次数

0

提交次数

0

时间限制 : 2 秒 内存限制 : 2048 MB

输入一个n,请你计算1*2*3*...*n的积为多少。

题目输入

    第一行输入一个T,代表有T组测试数据。每组测试数据包含一个n(1<=n<=10)

题目输出

    输出1n的乘积。

输入/输出样例

输入格式

3
1
2
3

输出格式

1
2
6

C语言解答

#include<stdio.h>
int main(){
	int t;
	scanf("%d",&t);
	int i,n;
	int k,sum;
	for(i=1;i<=t;i++)
	{
		sum=1;
		scanf("%d",&n);
		for(k=1;k<=n;k++)
		{
			sum=sum*k;
		
		
		}

	
	printf("%d\n",sum);
	
	
	}





}

C++解答

#include<stdio.h>
int main()
{
    int t;
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    scanf("%d",&t);
    while(t--)
    {
        int n,ans=1;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            ans*=i;
        printf("%d\n",ans);
    }
}

Java解答

import java.util.Scanner;
class Main{
	public static void main(String args[]){
	Scanner reader=new Scanner(System.in);
	int t=reader.nextInt();
	int[] a=new int[t];
	int[] b=new int[t];
	for(int i=0;i<t;i++){
		a[i]=reader.nextInt();
      	int s=1;
		for(int k=0;k<a[i];){
			k=k+1;
			s=s*k;
			}
		b[i]=s;
			}
	for(int i=0;i<t;i++){
		System.out.println(b[i]);
		}
	}
}