poj 1405

题意:分财产,按1/x(1) 1/x(2)...不减序列求,x要求正整数。使给教皇的尽量少。 解法:==

   假如第一次剩下1/2,那么下一个人要拿走尽量多的,就是1/3,剩下的是(1/2-1/3)=1/6,那么下一个人应该选择7
   依次类推。第一次剩下1/2,ans=2,第二次的时候剩下的1/2,ans=3;就是为最新剩下的1/(ans-1)-1/ans,化简得:ans=(ans-1)*ans+1
 
 
  1. import java.io.*;   
  2. import java.util.*;   
  3. import java.math.*;   
  4. public class Main { 
  5.      public static void main(String[] args)   
  6.         {   
  7.             Scanner cin = new Scanner(new BufferedInputStream(System.in));   
  8.             BigInteger ans=new BigInteger("2"); 
  9.             int n;BigInteger temp=new BigInteger("1"); 
  10.             while(cin.hasNext()) 
  11.             { 
  12.                 n=cin.nextInt(); 
  13.                 int i; 
  14.                 for(i=1;i<=n;i++) 
  15.                 { 
  16.                     System.out.println(ans); 
  17.                     ans=ans.multiply(ans.subtract(temp)).add(temp); 
  18.                 } 
  19.             } 
  20.         } 
  21. //java都是坏的,还是写完就交了~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值