求解C语言动态数组方面问题
我是新手求大神指教!原题大意是“输入x,y(0<x<366;y取0~9),求出x的阶乘值中出现y数字的次数。”
我认为核心部分是能求365的阶乘对吗?怎么破?
#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; }这是我以前写的一个求大数阶乘的算法,你可以参考下