博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递推练习 简单n!
阅读量:5796 次
发布时间:2019-06-18

本文共 1263 字,大约阅读时间需要 4 分钟。

简单n!

Time Limit: 1000MS Memory limit: 65536K

题目描述

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

输入

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

输出

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

示例输入

14

示例输出

0! = 11! = 10! = 11! = 12! = 23! = 64! = 24

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

View Code
1 #include
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[]啊,最后也不知道纠结了个什么,反正就是改改,再改改就对了

唉。。。。

转载于:https://www.cnblogs.com/wanglin2011/archive/2012/04/05/2433940.html

你可能感兴趣的文章
Linux使用bitnami安装redmine
查看>>
Maven 项目生成或者update jdk变为1.5的问题
查看>>
难度等级简单
查看>>
【SICP练习】86 练习2.58
查看>>
python学习笔记一
查看>>
格式化输入函数scanf()及输入输出函数的*修饰符
查看>>
Chapter 8. 面向对象(封装)
查看>>
练习:WinForm--DataGridView增删改查完整版
查看>>
js排序之选择排序
查看>>
git add详解
查看>>
第一次阅读作业
查看>>
关于Android studio团队协同开发连接到已有项目
查看>>
面试题:将字符串中的中英文分开显示
查看>>
Sql获取表的信息
查看>>
换了皮肤
查看>>
那些著名的自学者
查看>>
SQL 通配符
查看>>
SCU 4442 Party
查看>>
spring boot初接触
查看>>
数据库高可用实战案例-------架构优化之清爽一夏
查看>>