zoukankan      html  css  js  c++  java
  • 1042/72 n!

    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
    2
    6
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <stdio.h>
     4 #include <math.h>
     5 #include <string.h>
     6 #include <time.h>
     7 using namespace std;
     8 int a[10001];
     9 int main()
    10 {
    11     int n,sum,i,j,k;
    12     while(~scanf("%d",&n))
    13     {
    14         k=a[0]=1;sum=0;
    15         for(i=n;i>1;i--)
    16         {
    17             for(j=0;j<k;j++)
    18             {
    19                 a[j]=a[j]*i+sum;
    20                 sum=a[j]/100000;
    21                 a[j]=a[j]%100000;
    22 
    23             }
    24             while(sum)
    25             {
    26                 a[k++]=sum%100000;
    27                 sum=sum/100000;
    28             }
    29         }
    30         cout<<a[k-1];
    31         for(int i=k-2;i>=0;i--)
    32         printf("%05d",a[i]);
    33         cout<<endl;
    34     }
    35     return 0;
    36 }
    View Code

    这个题有两个知识点:

    1.数值型高精度

    2.补零操作(重点)

  • 相关阅读:
    oracle 分析函数3
    oracle 分析函数4
    oracle 分析函数2
    postgres
    博客系统
    Java 笔试面试 算法编程篇 一
    Java 笔试面试 基础篇 一
    Struts2
    mysql 数据类型
    ExceptionDemo
  • 原文地址:https://www.cnblogs.com/wang-ya-wei/p/5263302.html
Copyright © 2011-2022 走看看