uva 324Factorial Frequencies

来源:互联网 发布:c语言getchar位置输入 编辑:程序博客网 时间:2024/04/28 08:11

写出阶乘函数,然后计算各个数字的个数。话说格式一定要注意。调了半天。。。

#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define maxn 3000int num[10]= {0};int f[maxn];int getN(int n){    int i,j;    memset(f,0,sizeof(f));    f[0]=1;    for(i=2; i<=n; i++)    {        int c=0;        for(j=0; j<maxn; j++)        {            int s=f[j]*i+c;            f[j]=s%10;            c=s/10;        }    }    for(j=maxn-1; j>=0; j--)        if(f[j])            break;    return j;}int main(){    int n;    while(cin>>n&&n)    {        memset(num,0,sizeof(num));        int len=getN(n);        for(int i=len; i>=0; i--)            num[f[i]]++;        cout<<n<<"! --"<<endl;        printf("   (0)%5d    (1)%5d    (2)%5d    (3)%5d    (4)%5d\n",num[0],num[1],num[2],num[3],num[4]);        printf("   (5)%5d    (6)%5d    (7)%5d    (8)%5d    (9)%5d\n",num[5],num[6],num[7],num[8],num[9]);    }    return 0;}


原创粉丝点击