1. 程式人生 > >ACM--大數階乘--HDOJ 1042--N!--Java

ACM--大數階乘--HDOJ 1042--N!--Java

HDOJ題目地址:傳送門

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 74952    Accepted Submission(s): 21832
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

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
	   Scanner cin = new Scanner(System.in);  
       while(cin.hasNext()){
    	   int n=cin.nextInt();
    	   BigDecimal big=new BigDecimal(1);
    	   for(int i=1;i<=n;i++){
    		   BigDecimal b= new BigDecimal(i);
    		   big=big.multiply(b);
    	   }
    	   System.out.println(big);
       }
   }
}

   
   


相關推薦

ACM--大數--HDOJ 1042--N!--Java

HDOJ題目地址:傳送門 N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java

ACM--大數位數--HDOJ 1018--Big Number--水

HDOJ題目地址:傳送門 Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34

ACM-大數

描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入輸入一個整數m(0<m<=5000)輸出輸出m的階乘,並在輸出結束之後輸入一個換行符樣例輸入

求較大整數n,因為n較大時n超出了正常類型的表示範圍,采用數組進行操作(java實現)

階乘 大數字package net.yk.mlgorithm; /** * 求較大數的階乘 * @author Administrator * * @param <T> */ public class ArraysMul<T> { public static void

N! (n)(大數

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

Java——HDOJ——1042 N!

N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 92930    Accepted

java大數

//JAVA 大數階乘 import java.math.*; import java.util.Scanner; public class LargeNumber{ public sta

大數JAVA

小編初學Java,先解決一下大數問題,還請多多關注^-^ 描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入 輸入一個整數m(0<m<=5000) 輸出 輸出m的階乘,並在輸出結束之後輸入一個換行符

Java利用BigInteger類求大數運算

進行大數運算,用到BigInteger類,首先介紹一下這個類 方法 描述 public BigInteger (String var) 將一個字串變為BigInteger型別的資料 public BigInteger add(BigInteg

java競賽-大數問題

        Java計算階乘(n!)需要使用實現使用BigDecimal類,因為用int最多正確算到12!,用long最多正確算到20!         計算機中提供了長整型和雙精度等能儲存較大

Java 大數簡單方法

import java.util.Scanner; public class nc030 { public static void main(String[] args) throws Exception { // TODO Auto-genera

HDU 1261 字串數(大數 除法 組合 java

生平第一次用java A題 這個題目明顯的一個全排列除以相同元素的排列數 import java.util.*; import java.math.*; public class Main { public static void main(St

杭電acm大數(附原始碼)

Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N

NYOJ 28 大數JAVA

題目:大數階乘時間限制:3000 ms  |  記憶體限制:65535 KB描述我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它?輸入輸入一個整數m(0<m<

hdoj 1042 N!(還是對大數的處理)

初略估計10000!的階乘會有將近3000位數。 用二維陣列每個單元儲存一位數最後會記憶體溢位,所以我們每個單元儲存4位數,減少陣列的大小。 注意輸出時的細節,每個單元儲存4位數,如果數是0的話,要以%04輸出。 #include<stdio.h> using

java-用陣列實現大數

import java.util.Scanner; class Factorial { void Carry(int[] array, int pos) { int i, carry = 0; for (i = 0; i <= pos; i++) {//

計算大數--Java

    本文給出Java語言版的計算大數階乘的程式,本文使用動態陣列的儲存計算過程的中間結果和最終結果。每個short型陣列元素表示4位10進位制數。順便說一下,這是我的第一個Java程式。 import java.util.Scanner; /** * * @auth

ACM 大數 大數

描述:        我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它?程式碼:    ACCEPTED#include <stdio.h> int main(){ int i,n,a[50000],k,v=0,j,m=0

大數Java實現

題目 描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入輸入一個整數m(0<m<=5000) 輸出輸出m的階乘,並在輸出結束之後輸入一個換行符 樣例輸入 50 樣例輸出 30414093201713378

幾種大數演算法效率比較(Java

完整程式碼: package bigdatamul; import java.math.BigInteger; /** * 大數階乘 * * @Description: TODO(大數階乘) * * @author yzy * @date 201