蓝桥杯 矩阵翻硬币

Posted 王宜鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯 矩阵翻硬币相关的知识,希望对你有一定的参考价值。

思路:

参考了http://blog.csdn.net/snailset/article/details/26752435,思路很清晰。

用java实现了高效的牛顿迭代法。

我tm都要爱上java了。

实现:

 1 import java.math.*;
 2 import java.util.*;
 3 
 4 public class Main {
 5 
 6     public static BigInteger sqrt(BigInteger x){
 7         if (x .equals(BigInteger.ZERO) || x.equals(BigInteger.ONE)) {
 8             return x;
 9         }
10         BigInteger two = BigInteger.valueOf(2L);
11         BigInteger y;
12         for (y = x.divide(two);
13              y.compareTo(x.divide(y)) > 0;
14              y = ((x.divide(y)).add(y)).divide(two));
15         return y;
16     }
17 
18     /**
19      * @param args
20      */
21     public static void main(String[] args) {
22         // TODO Auto-generated method stub
23         BigInteger n;
24         Scanner s = new Scanner(System.in);
25         BigInteger a = s.nextBigInteger();
26         BigInteger b = s.nextBigInteger();
27         BigInteger ia = sqrt(a);
28         BigInteger ib = sqrt(b);
29         System.out.println(ia.multiply(ib));
30     }
31 }

 

以上是关于蓝桥杯 矩阵翻硬币的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯 历届试题 PREV-34 矩阵翻硬币

翻硬币 -- 蓝桥杯

蓝桥杯 [翻硬币] 贪心

2013蓝桥杯

蓝桥杯历届试题 翻硬币 JAVA

第四届蓝桥杯第八题 翻硬币