问题标题:
【阶乘计算编写程序,对给定的n(n≤100),计算并输出k的阶乘k!(k=1,2,…,n)的全部有效数字.由于要求的整数可能大大超出一般整数的位数,程序用一维数组存储长整数,存储长整数数组的每个元】
问题描述:
阶乘计算
编写程序,对给定的n(n≤100),计算并输出k的阶乘k!(k=1,2,…,n)的全部有效数字.由于要求的整数可能大大超出一般整数的位数,程序用一维数组存储长整数,存储长整数数组的每个元素只存储长整数的一位数字.如有m位成整数N用数组a[]存储:
N=a[m]×10m-1+a[m-1]×10m-2+…+a[2]×101+a[1]×100
并用a[0]存储长整数N的位数m,即a[0]=m.按上述约定,数组的每个元素存储k的阶乘k!的一位数字,并从低位到高位依次存于数组的第二个元素、第三个元素…….例如,=120,在数组中的存储形式为:
3021……
首元素3表示长整数是一个3位数,接着是低位到高位依次是0、2、1,表示成整数120
3,
林惠芬回答:
voidfact(intn,intjc[])
{inti,j,s;
intsum[300]={0};//临时存储计算结果
sum[0]=1;
for(i=1;i
查看更多