桀苓 2021-11-12 14:04 采纳率: 100%
浏览 34
已结题

数组阶乘怎么理解那个函数啊

编程计算并输出1~50之间的所有数的阶乘。

输入

输入一个50以内的正整数n。

输出

输出从1到n的阶乘,每个数的阶乘单独占一行。

样例输入 复制

15

样例输出 复制

1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040
8!=40320
9!=362880
10!=3628800
11!=39916800
12!=479001600
13!=6227020800
14!=87178291200
15!=1307674368000

提示

提示:用一个足够大的数组存储一个大数的阶乘,每个数组元素存储大数中的一位数字,输出结果不需要含有空格。为简单起见,不输出任何提示信息。
#include <stdio.h>
#define N 100
void fun(int);
int main(){
int i;
int n;
scanf("%d",&n);
for(i=1;i<=n;i++)
fun(i);
return 0;
}
void fun(int n){
int a[N]={1};
int i,j,m,b=0;
for(i=2;i<=n;i++){
for(j=0;j<=i+20;j++){
m=a[j]*i+b;
a[j]=m%10;
b=m/10;
}
}
for(i=N-1;i>0;i--)if(a[i]!=0)break;
printf("%d!=",n);
for(j=i;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月20日
    • 创建了问题 11月12日

    悬赏问题

    • ¥20 关于游戏c++语言代码问题
    • ¥15 如何制作永久二维码,最好是微信也可以扫开的。(相关搜索:管理系统)
    • ¥15 delphi indy cookie 有效期
    • ¥15 labelme打不开怎么办
    • ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
    • ¥15 免费的电脑视频剪辑类软件如何盈利
    • ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
    • ¥15 pycharm中导入模块出错
    • ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
    • ¥15 有关“完美的代价”问题的代码漏洞