大数模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.math.BigDecimal; 
import java.util.Scanner;  
   
public class Main{ 
    public static void main(String[] args){ 
        BigDecimal two=new BigDecimal(2); 
        BigDecimal three=new BigDecimal(3); 
        BigDecimal five=new BigDecimal(5); 
           
        //二分求sqrt(5) 
        BigDecimal l=two, r=three; 
        for(int i=0; i<500; i++){ 
            BigDecimal mid=l.add(r).divide(two); 
            if(mid.multiply(mid).compareTo(five)<0) 
                l=mid; 
            else r=mid; 
        
           
        BigDecimal gold=l.add(BigDecimal.ONE).divide(two); 
           
        BigDecimal a, b; 
        Scanner cin=new Scanner(System.in); 
           
        while(cin.hasNext()){ 
            a=cin.nextBigDecimal(); 
            b=cin.nextBigDecimal(); 
            if(a.compareTo(b)>0){//保证a<=b 
                BigDecimal tmp=a; 
                a=b; 
                b=tmp; 
            
            //向下取整,统一精度 
            a=a.setScale(0, BigDecimal.ROUND_DOWN); 
            b=b.subtract(a).multiply(gold); 
            b=b.setScale(0, BigDecimal.ROUND_DOWN); 
            if(a.compareTo(b)==0) System.out.println("0"); 
            else System.out.println("1"); 
        
    
}

  某个佐夫的博弈:基本上用到的东西都用到了。

posted @   Heilce  阅读(161)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示