zoukankan      html  css  js  c++  java
  • 大数阶乘

    /*
    	Date:2018-9-28
    	Author:Shimmer|mote
    */
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int arr[500000];
    int main() {
    	int n;
    	while (scanf("%d", &n) != EOF) {
    		memset(arr, 0, sizeof(arr));
    		int m = 1;
    		arr[0] = 1; arr[1] = 1;
    		for (int i = 2; i <= n; i++) {
    			for (int j = 1; j <= m; j++) {//m为阶乘的位数 
    				arr[j] *= i;
    			}
    			for (int j = 1; j <= m; j++) {
    				if (arr[j] > 9) { 
    					arr[j+1] += arr[j]/10;
    					arr[j] = arr[j]%10;
    				}
    				if (arr[m+1] != 0) //进位 
    					m += 1;
    			} 
    		}
    		for (int j = m; j >= 1; j--) {
    			printf("%d", arr[j]);
    		}
    		printf("
    ");
    	}	
    }
    

      

  • 相关阅读:
    小数的进制转换
    水题 O
    水题 J
    水题T,二进制转16进制
    水题B
    水题C
    HDU 2042
    HDU 2041
    Index For SQL Server
    Learning Note For Angular
  • 原文地址:https://www.cnblogs.com/a863886199/p/9718427.html
Copyright © 2011-2022 走看看