• hdu 4927 java程序


    /*对于本题题意很简单
    关键在于求杨辉三角时的二项式是没有用到优化,导致超时。对于第n行的二项式的第i个可有第i-1个乘于一个数处于一个数得到,要用到大数,java比较方便。
    假如n=6,i=4;
    C(n,i)=C(n,i-1)*(n-i+1)/i;
    */
    import java.io.*;
    import java.math.*;
    import java.util.*;
    import java.text.*;
    public  class Main
    {
        public static void main(String[] args)
        {
    
            int  i,j, e,ee,n,s,t;
            BigInteger f[]=new BigInteger[3100],h[]=new BigInteger[3100],ans,ff,flag,p;
            Scanner cin = new Scanner (System.in);
            int k=cin.nextInt();
            boolean  d=true;
            while(d)
            {
                ans=BigInteger.valueOf(0);
                n= cin.nextInt();
                for(i=1; i<=n; i++)
                    f[i]=cin.nextBigInteger();
                h[1]=BigInteger.valueOf(1);
                for(i=2; i<=n; i++)
                {
                    e=i-1;
                    ee=n-i+1;
                    flag=BigInteger.valueOf(e);
                    p=BigInteger.valueOf(ee);
                    h[i]=h[i-1].multiply(p);
                    h[i]=h[i].divide(flag);
                }
                for(i=1; i<=n; i++)
                {
                    if(i%2!=n%2)
                    {
                        p=BigInteger.valueOf(-1);
                        p=h[i].multiply(p);
                        f[i]=f[i].multiply(p);
                        ans=ans.add(f[i]);
                    }
                    else
                    {
                        f[i]=f[i].multiply(h[i]);
                        ans=ans.add(f[i]);
                    }
                }
                System.out.println(ans);
                k=k-1;
                if(k==0)
                    d=false;
            }
        }
    
    }
    

  • 相关阅读:
    面向对象之绑定方法与非绑定方法
    Django-admin源码解析
    单例模式
    Django-admin管理工具
    Django-CBV
    叠加装饰器,三元表达,生成,调用,递归
    迭代器与生成器
    有参装饰器
    储备知识与装饰器
    文件修改
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410655.html
Copyright © 2020-2023  润新知