• hdu 1261(指数型母函数+精度计算)


    题意:易理解...

    分析:由指数型母函数只是知道总共有:(n1+n2+...+n(m))!/(n1!*n2!...*n(m)!),但是这个是大数的运算,所以就转换成了精度计算,这个不难。

    代码实现:

    #include<stdio.h>
    #include<string.h>
    int a[1000],len;
    void jiecheng(int n)//用来算n!是大数,所以用数组保存,每个数组元素保存4位
    {
        int i,j,carry,temp;
        a[0]=1;len=1;
        for(i=2;i<=n;i++)
        {
            carry=0;
            for(j=0;j<len;j++)
            {
                temp=a[j]*i+carry;
                a[j]=temp%10000;
                carry=temp/10000;
            }
            if(carry)//是否进位
                a[len++]=carry;
        }
    }
    int main()
    {
        int n,i,j,k;
        int num[26],sum,temp;
        int carry;
        while(scanf("%d",&n)!=EOF&&n)
        {
           sum=0;
           for(i=0;i<n;i++)
           {
               scanf("%d",&num[i]);
               sum+=num[i];
           }
           jiecheng(sum);
           for(i=0;i<n;i++)//这是一个大数除以小数的算法
           {
               for(j=2;j<=num[i];j++)
               {
                   carry=0;
                   for(k=len-1;k>=0;k--)
                   { 
                       temp=a[k]+carry*10000;
                       a[k]=temp/j;
                       carry=temp%j;
                   }
                   while(a[len-1]==0)
                       len--;
               }
           }
           printf("%d",a[len-1]);
           for(i=len-2;i>=0;i--)
               printf("%04d",a[i]);
           printf("\n");
        }
        return 0;
    }
  • 相关阅读:
    C#获取MAC地址
    C#洗牌
    删除前提示
    简单MD5加密
    读取EXCEL所有列名C#
    gridview二次加载样式丢失
    迅雷API接口(及示例演示)
    [转]Servlet过滤器介绍之原理分析
    [转]MySQL运行状态show status中文详解
    [转]如何修改mysql root密码
  • 原文地址:https://www.cnblogs.com/jiangjing/p/3027735.html
Copyright © 2020-2023  润新知