1 条题解
-
0
C :
#include <stdio.h> int main() { int a[2570],c,i,j,m,n; while(scanf("%d",&n)!=EOF) { a[0]=1; m=0; for(i=1;i<=n;i++){ c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10; a[j]%=10; } while(c) { m++; a[m]=c; c=a[m]/10; a[m]%=10; } } for(i=m;i>=0;i--) printf("%d",a[i]); printf("\n"); } return 0; }
C++ :
#include <stdio.h> int a[1111111],n; void run() { int i,m,j,t=0; a[0]=1; for(i=1;i<=n;i++) { for(j=0;j<=t;j++) a[j]*=i; for(j=0;j<t;j++) { a[j+1]+=a[j]/10; a[j]%=10; } while(a[t]>9) { a[t+1]=a[t]/10; a[t]%=10; t++; } } for(i=t;i>=0;i--) printf("%d",a[i]); printf("\n"); } int main() { scanf("%d",&n); while(n!=-1) { run(); n=-1; scanf("%d",&n); } return 0; }
Java :
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n; n = scanner.nextInt(); BigInteger sum = new BigInteger("1"); for (int i = 1; i <= n; i++) { sum = sum.multiply(new BigInteger(Integer.toString(i))); } System.out.println(sum.toString()); } } }
- 1
信息
- ID
- 1275
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者