求解C语言动态数组方面问题
我是新手求大神指教!原题大意是“输入x,y(0<x<366;y取0~9),求出x的阶乘值中出现y数字的次数。”
我认为核心部分是能求365的阶乘对吗?怎么破?
2015-04-23 10:25
2015-04-23 23:46
2015-04-24 00:00

2015-04-24 00:05
程序代码:#include<stdio.h>
int *a(int a[10000])
{
int i;
for(i=0;i<=10000;i++)
{
if(a[i]>9)
{
a[i+1]+=(a[i]-a[i]%10)/10;
a[i]=a[i]%10;
}
}
return a;
}
int main()
{
int A[10000],n,i,j,count;
A[0]=1;
scanf("%d",&n);
for(i=1;i<10000;i++)
A[i]=0;
for(i=1;i<=n;i++)
{
for(j=0;j<10000;j++)
A[j]=A[j]*i;
a(A);
}
int c=0;
for(i=9999;A[i]==0;i--);
for(c=i;c>=0;c--)
printf("%d",A[c]);
return 0;
}
这是我以前写的一个求大数阶乘的算法,你可以参考下

2015-04-24 00:10

2015-04-24 00:11
2015-04-24 17:56
2015-05-04 02:17