• 递推练习 简单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[]啊,最后也不知道纠结了个什么,反正就是改改,再改改就对了

    唉。。。。

  • 相关阅读:
    遗传算法
    UVa 11584 Partitioning by Palindromes
    UVa1625 Color Length
    UVa10003 Cutting Sticks
    UVa1347 Tour
    UVa116 (单向TSP,多决策问题)
    uVa 12563 Jin Ge Jin Qu
    模糊综合评判
    Python进阶(5)_进程与线程之协程、I/O模型
    Python进阶(4)_进程与线程 (python并发编程之多进程)
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2433940.html
Copyright © 2020-2023  润新知