HDU4927(Series 1)

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   os   for   art   

題目地址:Series 1

 

題目大意:

        有一個序列A集合為{A1,A2.....An}。第0個序列為其本身,第一個序列為後一個減去前一個(例:A2-A1,A3-A2...An-An-1)以此類推,則第n-1個序列就一定為一個數。輸出這個數。

 

解題思路:

       通過計算求出的這個數ans=aA1+a2A2..anAn。  則前面的係數為楊輝三角裡第n行的係數(二項式係數),從最後一個係數符號為正,一正一負一次往前類推。

處理大數問題,用java編寫。

 

代碼:

 1 import java.util.*; 2 import java.math.*; 3   4 public class Main 5 { 6     public static void main(String []args) 7     { 8         int n,i,j,T; 9         Scanner cin=new Scanner(System.in);  //聲明輸入。10         BigInteger p[]=new BigInteger[3005]; //聲明大數數組11         T=cin.nextInt(); //輸入T12         while(T!=0)13         {14             T--;15             n=cin.nextInt();//輸入n16             BigInteger minn=BigInteger.valueOf(0),maxx=BigInteger.valueOf(0),c=BigInteger.valueOf(1),tmp,ans;//聲明加上賦初值17          18             for(i=1; i<=n; i++)19                 p[i]=cin.nextBigInteger();20          21             for(i = 0; i<=n-1; i++)  //從0開始,為了計算楊輝三角的係數符號從最後一個為正開始。22             {23                 if(i>0) //除數不能為024                   {    25                       BigInteger xxx=BigInteger.valueOf(n-i);  //乘上分母的最大的一個數26                       c=c.multiply(xxx)/*相乘*/.divide/*相除*/(BigInteger.valueOf(i));//除去分子最小的一個數//通過計算出最後一個係數,依次計算出前一個的係數27                   }28                 tmp=c.multiply(p[n-i]);29                 if(i%2==1)30                     minn=minn.add(tmp);//相加31                 else32                     maxx=maxx.add(tmp);33             }34             maxx=maxx.subtract(minn); //正的值減去負數的值35             System.out.println(maxx.toString());//輸出36         }37     }38 }
View Code

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.