杭電acm:大數階乘(附原始碼)
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 tmp,n,j; int a[35661];//10000的階乘位數為35660 int d; int temp,i; while(scanf("%d",&n)!=EOF){ a[0]=1;d=1; for(i=2; i<=n; i++) { for(tmp=0,j=1; j<=d; ++j)//大於十進位 { temp=a[j-1]*i+tmp; a[j-1]=temp%10; tmp=temp/10; } while(tmp) { a[++d-1]=tmp%10; tmp/=10; } } for(int k=d; k>=1; --k)//去掉多餘的0 printf("%d",a[k-1]); printf("\n"); } return 0; }
相關推薦
杭電acm:大數階乘(附原始碼)
Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N
杭電acm 1230 火星a+b(進制)
進制數 a+b 第一個 進行 () 地球 iss class font 火星A+B Time Limit: 2000/1000 MS (Java/
杭電ACM hdu 2079 選課時間 (模板)
Problem Description 又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。(xhd認為一樣學分的課沒區別) Input輸入資料的第一行是一個數據T,表示有T組資料。每組資料的第一行是兩個整數n(1 <= n <
杭電acm 1230 火星a+b(進位制)
 
大數階乘(JAVA)
小編初學Java,先解決一下大數問題,還請多多關注^-^ 描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入 輸入一個整數m(0<m<=5000) 輸出 輸出m的階乘,並在輸出結束之後輸入一個換行符
HDU 1261 字串數(大數階乘 除法 組合 java)
生平第一次用java A題 這個題目明顯的一個全排列除以相同元素的排列數 import java.util.*; import java.math.*; public class Main { public static void main(St
NYOJ 28 大數階乘(JAVA)
題目:大數階乘時間限制:3000 ms | 記憶體限制:65535 KB描述我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它?輸入輸入一個整數m(0<m<
NYOJ 28.大數階乘(大數問題)
/*描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入 輸入一個整數m(0<m<=5000) 輸出 輸出m的階乘,並在輸出結束之後輸入一個換行符 樣例輸入 50 樣例輸出30414093201713378043612
題目28:大數階乘
題目連結: 描述 我們都知道如何計算一個數的階乘,可是,如果這個數很大呢,我們該如何去計算它並輸出它? 輸入 輸入一個整數m(0<m≤5000) 輸出 輸出每組測試資料中揹包內的物品的價值和,每次輸出佔一行。 樣例輸入 50 樣例
2018杭電多校第一場1011(hdu 6308)
題解:這題主要會超時,不能用string。可以使用sscanf提取字串。 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<queue
2018杭電多校第一場1003(hdu 6300)
題解:畫個圖發現只要按橫座標排序,每次取三個點就永遠不會相交 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<queue> #
JAVA語法——n的階乘(高級)
sys integer mina sca -i val 輸入一個正整數n system nal 題目描述 輸入一個正整數N,輸出N的階乘。 輸入描述: 正整數N(0<=N<=1000) 輸出描述: 輸入可能包括多組數據,對於每一組輸入數據,輸出N的階乘
C語言實驗——求階乘(迴圈結構) (sdut oj)
C語言實驗——求階乘(迴圈結構) Time Limit: 3000MS Memory Limit: 65536KB Problem Description 從鍵盤輸入任意一個大於等於0
js中實現階乘(多種方法)以及階乘求
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <h
遞迴實現1到100的和、10的階乘(Java語言)
遞迴需慎用。 package demo; public class Test { public static void main(String[] args) { Sys
n的階乘(C語言)
非遞迴實現: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> int strlen(char* str) { if (*str == '\0') return 0;
C語言實驗——求階乘(迴圈結構)
Problem Description 從鍵盤輸入任意一個大於等於0的整數n,然後計算n的階乘,並把它輸出。 Input 輸入任意一個大於等於0的整數n。 Output 輸出n! Example Input 3 Example Output 6 #inclu
杭電“計算機學院大學生程式設計競賽(2015’11)”題解【1-3】
1001搬磚 Problem Description 小明現在是人見人愛,花見花開的高富帥,整天沉浸在美女環繞的笙歌妙舞當中。但是人們有所不知,春風得意的小明也曾有著一段艱苦的奮鬥史。 那時的小明還沒剪去長髮,沒有信用卡沒有她,沒有24小時熱水的家,可當初
用遞迴方法求n的階乘(C語言)
用遞迴方法求n! #include<stdio.h> int main() { int fac(int n); int n; int y; printf("
Problem H: C語言實驗——求階乘(迴圈結構)
就算我們站在群山之顛,也別忘記雄鷹依舊能從我們頭頂飛過。驕傲是比用JAVA進行底層開發更可笑的東西。 Description 從鍵盤輸入任意一個大於等於0的整數n,然後計算n的階乘,並把它輸出。 Input 輸入任意一個大於等於0的整數n。 Output 輸出n! Sam