• hdu1042 N!(大数求阶乘)


    N!

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
    Total Submission(s): 94583    Accepted Submission(s): 28107


    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

    数据范围比较大,要用到大数。

    c++

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 string Multiply(string s,int x)
     4 {
     5     reverse(s.begin(),s.end());
     6     int cmp=0;
     7     for(int i=0; i<s.size(); i++)
     8     {
     9         cmp=(s[i]-'0')*x+cmp;
    10         s[i]=(cmp%10+'0');
    11         cmp/=10;
    12     }
    13     while(cmp)
    14     {
    15         s+=(cmp%10+'0');
    16         cmp/=10;
    17     }
    18     reverse(s.begin(),s.end());
    19     return s;
    20 }
    21 int main()
    22 {
    23     int n;
    24     while(~scanf("%d",&n))
    25     {
    26             string sum="1";
    27             for(int i=1; i<=n; i++)
    28             {
    29                 sum=Multiply(sum,i);
    30             }
    31             cout<<sum<<endl;
    32     }
    33     return 0;
    34 }
    View Code

    Java

     1 import java.math.BigInteger;
     2 import java.util.Scanner;
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner cin = new Scanner(System.in );
     6         while(cin.hasNext()) {
     7                int n=cin.nextInt();
     8                    BigInteger sum=BigInteger.valueOf(1);
     9                    for(int i=1;i<=n;i++)
    10                    {
    11                        BigInteger temp=BigInteger.valueOf(i);
    12                        sum=sum.multiply(temp);
    13                    }
    14                    System.out.println(sum);
    15              
    16         }    
    17     }
    18 }
    View Code

    PS:这题好像还是Java比较快。。。

  • 相关阅读:
    业余无线电A类考试准备笔记
    关于互联网技术基层绩效管理的一些思考
    适合产品经理的十本书 From 俞军
    从敏捷开发到微服务,maybe再到中台
    Golang内存模型
    CSS中的那点事儿(一)--- CSS中的单位2
    CSS中的那点事儿(一)--- CSS中的单位1
    design.js
    model.js
    云技术相关的概念
  • 原文地址:https://www.cnblogs.com/fqfzs/p/9973295.html
Copyright © 2020-2023  润新知