zoukankan      html  css  js  c++  java
  • (TOJ1198)求n的阶乘

    描述

    给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!。

    输入

    输入数据有多行,每行一个整数n,当n<0时输入结束。

    输出

    输出n的阶乘。

    样例输入

    1
    2
    3
    4
    -1

    样例输出

    1
    2
    6
    24

     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<string.h>
     4 #include<ctype.h>
     5 
     6 int a[10000];
     7 
     8 void deal(int n)
     9 {
    10     int i,j,len,flag,t;
    11     a[0]=1;
    12     if(n==0)
    13     {
    14         printf("1\n");  
    15         return;
    16     } 
    17     else 
    18     {
    19           len=1;
    20           for(i=1; i<=n; i++)
    21           {
    22               flag=0;
    23               for(j=0; j<len; j++)
    24               {
    25                   t=i*a[j];
    26                   a[j]=(t+flag)%10;
    27                   flag=(t+flag)/10;
    28               }
    29               while(flag!=0)
    30               {
    31                   a[j]=flag%10;
    32                   j++; len++;
    33                   flag=flag/10;
    34               }
    35           }
    36           for(i=len-1; i>=0; i--)
    37           {
    38               printf("%d",a[i]);
    39           }
    40           printf("\n");
    41     }
    42 }
    43 
    44 void solve()
    45 {
    46     int n;
    47     while(scanf("%d",&n) && (n>=0)){
    48         deal(n);
    49     }
    50 }
    51 
    52 int main()
    53 {
    54     solve();
    55     return 0;
    56 }
    
    
     
  • 相关阅读:
    DBHelper
    jsTree使用
    爬虫系列之Scrapy框架
    Mongodb安装
    爬虫系列之mongodb
    爬虫学习目录
    爬虫之selenium模块
    爬虫简介与requests模块
    爬虫数据解析的三方式
    线程相关
  • 原文地址:https://www.cnblogs.com/xueda120/p/3083491.html
Copyright © 2011-2022 走看看