N!(杭电1042)(数组实现+java实现)
来源:互联网 发布:网络语言爸爸什么意思 编辑:程序博客网 时间:2024/04/26 04:56
N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 55971 Accepted Submission(s): 15886
Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
123
Sample Output
126#include<stdio.h>int main(){int i,j,n,m;while(scanf("%d",&n)!=EOF){if(n<0){ continue; }int str[10000]={0};str[0]=1;m=0;for(i=1;i<=n;i++)//m用来控制进位。 for(j=0;j<=m;j++){str[j]=str[j]*i;if(j>0&&str[j-1]>=10000){ str[j]=str[j]+str[j-1]/10000; str[j-1]=str[j-1]%10000; } if(str[m]>=10000) m++;}printf("%d",str[m]); for(i=m-1;i>=0;i--) printf("%04d",str[i]);printf("\n");}return 0;}
java语言实现~import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext())
{
int n=in.nextInt();
BigDecimal m=new BigDecimal(1);
BigDecimal a;
for(int i=2;i<=n;i++)
{
a=new BigDecimal(i);
m=m.multiply(a);
}
System.out.println(m);
}
}
}
0 0
- N!(杭电1042)(数组实现+java实现)
- 杭电1113(Java实现)
- java数组实现N皇后问题
- java实现---杭电2037
- 杭电1042(N!)
- n!的实现(java)
- N-Queen(java实现)
- 杭电 1042 N!
- 杭电 1042N!
- 杭电1042 N!
- 1042杭电 N!
- 杭电1042 N!
- 杭电1042N!
- 【杭电 1042】 N!
- 杭电acm 1716 java实现
- 输出N行的杨辉三角,用一维数组存储实现(java)
- 基于快排实现,在N个乱序的数组中找第K大的数(Java实现)
- 杭电ACM OJ 1042 N! java大数乘法BigInteger
- Cleaning Shifts - POJ 2376 贪心
- ASN-MIB
- PAT (Advanced Level) Practise 1016. Phone Bills (25)
- Centos系统备份与恢复教程
- win7下硬盘安装Ubuntu 14.04
- N!(杭电1042)(数组实现+java实现)
- IOS开发NSBundle对象使用详解
- Codeforces gym 2014 Nordic Collegiate Programming Contest(最初版,有过题再更新)
- storm的学习与使用(三)
- hdu2391(简单dp)
- LeetCode 76 Minimum Window Substring
- 二、ROS相关网站汇总
- word2010文档中的网址链接显示的是乱码
- win8.1+vs2012环境下装boost1.55