您的位置:首页 > 产品设计 > UI/UE

放麦子 valueof substring

2015-11-18 22:49 489 查看
import java.math.BigInteger;

public class Question8 {

/**

* 放麦子 你一定听说过这个故事。国王对发明国际象棋的大臣很佩服, 问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,

* 在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子, 在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,

* 直到放完所有棋盘格(国际象棋共有64格)。 国王以为他只是想要一袋麦子而已,哈哈大笑。

* 当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用! 请你借助计算机准确地计算,到底需要多少粒麦子。

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

/*

* BigInteger total = new BigInteger("0"); BigInteger base = new

* BigInteger("2"); for (int i = 0; i < 64; i++) {

* total =

* total.add(base.pow(i));

*

* } System.out.println(total); System.out.println(base.pow(64).add(new

* BigInteger("-1")));

*/

BigInteger bi = new BigInteger("0");

for (int i = 0; i < 64; i++) {

bi = bi.add(BigInteger.valueOf((long) (Math.pow(2, i))));

}

System.out.println(bi);

/*

* 比如说有个String

* str="12345";substring函数是取一个string子串,如果j=1,那么str.substring(

* j+1)就是取从第二位开始的子串,所以str.substring(j+1)等于"345";

* valueOf是Integer类的一个静态方法,

* 它是把一个string参数转换为Integer类型,那么经过Integer.valueOf(

* "345")转换,345就是一个Integer类型了最后说这个intValue函数

* ,它是将一个Integer类型转换成原始类型int,所以最后len就等于345了搜索


*/

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: