跳到主要内容

面试题

面试题

0.1 + 0.2 == 0.3为何为false

十进制的0.1转化为二进制的0.1时,得到一个无限循环小数。所以当使用有限的位数保存数字的时候,会产生精度的确实,最终的数只是0.1的近似数。

所以0.1和0.2的两个近似数相加,只能得到0.3的近似数。

5升瓶子和6升瓶子装3升水

5L装满 -> 6L瓶子

5L再装满 -> 6L瓶子, 6L倒掉,5L瓶子的水 -> 6L瓶子

5L再装满 -> 6L瓶子

5L瓶子剩下3L水

计算时针和分针的夹角
function getDegree(m, n) {
let mDegree = m * 30 + n * 0.5
let nDegree = n * 6
let degree = Math.abs(mDegree - nDegree)
if (degree > 180) {
degree = 360 - degree
}
return degree
}
概率题

100人教室60人喜欢足球,70人喜欢篮球,问同时喜欢足球和篮球的人数。

答:30到60人。最小值:60 + 70 - 100 = 30;最大值:交集,60。

100人班级60%喜欢足球,70%喜欢篮球,80%喜欢排球,问即三种球都喜欢占比有多少?

答:10到60人。最小值可以根据上一问的最小值来,已知同时喜欢足球和篮球的人数最少为30人,那么最小值:30 + 80 - 100 = 10人;而最大值还是三者的最大可能交集,60人。