我正在用 Javascript 构建一个代码,它将计算我需要折叠一张纸多少次才能使其厚度到达月球。
(这应该是一个已知的挑战)
Thick参数是纸张的厚度 numOfLayers 参数表示已堆积了多少层:
但是我得到了错误的结果:
Milimeters = Thick*numOfLayers;
Centimeters = Thick*numOfLayers/10;
Meters = Thick*numOfLayers/100;
Kilometers = Thick*numOfLayers/1000;
这是我的计算。 我计算错了什么?
最佳答案
您在所有其他计算中都使用毫米。您可能希望将先前的值传递到后续计算中或适当调整除数。
Milimeters = Thick * numOfLayers;
Centimeters = Milimeters / 10;
Meters = Centimeters / 100;
Kilometers = Meters / 1000;
示例
const thick = 0.1
const layers = 100000000
let millimeters, centimeters, meters, kilometers
// broken
millimeters = thick * layers
centimeters = thick * layers / 10
meters = thick * layers / 100
kilometers = thick * layers / 1000
console.log("Broken", millimeters + 'mm', centimeters + 'cm', meters + 'm', kilometers + 'km')
// fixed
millimeters = thick * layers
centimeters = millimeters / 10
meters = centimeters / 100
kilometers = meters / 1000
console.log("Fixed", millimeters + 'mm', centimeters + 'cm', meters + 'm', kilometers + 'km')
// fixed with divisors
millimeters = thick * layers
centimeters = millimeters / 10
meters = millimeters / 1000
kilometers = millimeters / 1000000
console.log("Fixed Divisors", millimeters + 'mm', centimeters + 'cm', meters + 'm', kilometers + 'km')
关于javascript - 如何调整我的 "folding a paper to the moon"代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55002352/