100!.txt
来自「100阶乘的数组存储算法」· 文本 代码 · 共 41 行
TXT
41 行
#include<iostream.h>
#include<math.h>
#define N 100 //N为阶乘次数
void main()
{
int a[200],b[200]; //a中每个元素存储阶乘计算结果一位数,b用作进位换算
int i,k;
//数组初始化
for(i=0;i<200;i++){
a[i]=0;
b[i]=0;
}
//将a[0]重新初始化为1
a[0]=1;
//阶乘计算循环
for(k=1;k<=N;k++){
//按位乘法循环
for(i=0;i<200;i++){
b[i]=a[i]*k;
}
//进位换算循环
for(i=0;i<199;i++){
b[i+1]=b[i+1]+b[i]/10;
}
//求得数组中的每一个新的元素,即第k次阶乘后的值
for(i=0;i<200;i++){
a[i]=b[i]%10;
}
}
//找出数组中第一个不为零的数
for(i=199;i>=0;i--){
if(a[i]==0)
i--;
if(a[i]!=0)
break;
}
//打印数组元素,即结果
cout<<"The result of "<<N<<"! is:\n";
for(;i>=0;i--)
cout<<a[i];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?