您的位置:首页 > 其它

计算整数n的阶层,要求计算结果最长可达50位

2014-04-07 21:08 225 查看
c语言代码:

#include <stdio.h>
#define N 50
void qiujieceng(int a)
{
int i,j,k,n;
int data
;
int bit=1;

for(i=1;i<N+1;i++)
data[i]=0;
data[1]=1;
for(i=1;i<a+1;i++)//遍历每个数的阶数
{
for(j=1;j<bit+1;j++)//计算阶数:每一位乘以要求的阶数,结果仍然在本位上
{
data[j]*=i;
}
for(j=1;j<bit+1;j++)//遍历每一位,看是否有进位的需要
{
if(data[j]>10)
{
for(n=1;n<bit+1;n++)//当数组中所表示的数超过一位的时候,考虑将十位上的数字向前移位
{
if(data[bit]>10)//根据最高位是否需要进位,判断位数是否需要增加。
bit++;
data[n+1]+=data
/10;//当最高位不需要进位的时候,这个步骤仍然需要
data
=data
%10;//低位进位
}
}
}
printf("%d!=",i);
for(k=bit;k>0;k--)//先输出高位,所以k=bit
{
printf("%d",data[k]);
}
printf("\n");
}
}
int main()
{
int m;
printf("请输入您要求的数m:\n");
scanf("%d",&m);
qiujieceng(m);
return 0;
}


执行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: