zoukankan      html  css  js  c++  java
  • 递推练习 简单n!

    简单n!

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

    给定一个数n(0 <= n <= 150), 求0到n中所有数的阶乘。

    输入

    题目有多组数据,处理到文件结尾。输入一个数n。

    输出

    输出阶乘,形式如:4! = 24.每组数据输出后跟一个空行。

    示例输入

    1
    4
    

    示例输出

    0! = 1
    1! = 1
    
    0! = 1
    1! = 1
    2! = 2
    3! = 6
    4! = 24

    这道题纠结了,一开始想用字符串处理,写了半天没写出来,老出错,最后用了二维数组做的

    View Code
     1 #include<stdio.h>
    2 int main()
    3 {
    4 int n,i,a[151][301],j,x,b[151];
    5 for(i=0;i<151;i++)
    6 for(j=0;j<301;j++)
    7 a[i][j]=0;
    8 a[0][300]=1;
    9 b[0]=300;
    10 for(i=1;i<151;i++)
    11 {
    12 j=300;
    13 while(j>=b[i-1])
    14 {
    15 x=a[i-1][j]*i+a[i][j];
    16 a[i][j]=x%10;
    17 a[i][j-1]=x/10;
    18 j--;
    19 }
    20 x=a[i][j];
    21 while(x!=0)
    22 {
    23 a[i][j]=x%10;
    24 x/=10;
    25 j--;
    26 }
    27 b[i]=j+1;
    28 }
    29 while(scanf("%d",&n)!=EOF)
    30 {
    31 for(i=0;i<=n;i++)
    32 {
    33 printf("%d! = ",i);
    34 for(j=b[i];j<301;j++)
    35 printf("%d",a[i][j]);
    36 printf("\n");
    37 }
    38 printf("\n");
    39 }
    40 }



    一直纠结这个b[]啊,最后也不知道纠结了个什么,反正就是改改,再改改就对了

    唉。。。。

  • 相关阅读:
    mac 环境下adb的安装
    iOS开发Swift版本
    UILabel-Swift
    Android应用上架
    Android应用开发
    andriod
    Android 6.0 更新包与已安装应用的签名不一致
    苹果手机怎么录屏 iOS12设置录屏
    Siri语音唤醒的开启与语音矫正
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2433940.html
Copyright © 2011-2022 走看看