2701 - 求阶乘
时间限制 : 2 秒
内存限制 : 2048 MB
输入一个n,请你计算1*2*3*...*n的积为多少。
题目输入
第一行输入一个T,代表有T组测试数据。每组测试数据包含一个n(1<=n<=10)。
题目输出
输出1到n的乘积。
输入/输出样例
输入格式
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]); } } }