zoukankan      html  css  js  c++  java
  • N!(杭电1042)(数组实现+java实现)

    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
    1 2 3
     

    Sample Output
    1 2 6
    #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(" "); } 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);

    }
    }


    }
  • 相关阅读:
    oracle锁表查询,资源占用,连接会话,低效SQL等性能检查
    oracle临时表
    oracle列转行
    oracle数据库查询重复记录
    查找mysql的cnf文件位置
    Nginx反向代理,负载均衡,redis session共享,keepalived高可用
    Linux 软件安装
    Linux上网设置
    c#学习内容
    PHP八大设计模式
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7259791.html
Copyright © 2011-2022 走看看