JS中 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,棋盘上放的所有芝麻的重量
<script>
// 0.00001kg为一个芝麻
var num = 0.00001;
//总重量
var count = num;
// 64个 格子
for (var i = 2; i <= 64; i++) {
console.log("第" + i + "个格子里的重量是" + Math.pow(2, i - 1) * num);
console.log(2 ** (i))
count += Math.pow(2, i - 1) * num;
}
//定义每一个格子里的重量
var temp = 1;
for (var i = 2; i <= 53; i++) {
//当前格子里的芝麻的个数
temp *= 2;
//求当前格子里的重量
count += temp * num;
}
console.log("整个棋盘的总承载重量是" + count + "kg");
// 第一次循环的时候 1个
// 第二次循环的时候 2个
// 第三次循环的时候 4个
// 第四次循环的时候 8个
// 第...次循环的时候 2的 n-1次方个
// Math.pow(ge, 3); 求ge的3次方
// Math.pow(2, i - 1);
// Math.pow(); 的使用规则: pow接受2个参数,第一个参数是底数 第二个参数是指数
//JS中使用的数字存储方式是最多最多64位
// JS能够表示的最大整数是2的53次方 所以我们将作业的题目改为53
//JS中解决小数的精度问题: 先把小数转换为整数,再计算,计算完毕之后,除以一个数,重新转为小数
</script>