数学,一生之敌。不过这道数学题还蛮简单的。但是与其说是数学题,倒不如说是化简题。也还是挺有意思的,只要不让我动脑子的话。
先来看看题目
This is the first release of a math challenge.
You have to come up with the shortest solution (9 chars or less) for a geometric function.
And the story goes like:
Pharao momo wants a square-based pyramid, where all the eight edges are of the same length 'a'.
Please support him with a formula to calculate the volume for a given side length.
Your co-workers already drew a sketch how the pyramid looks like from front-view:
Example Formula: a^3/3sqrt(aa)
Notation Hints: sqrt(), a^2, etc.
Enjoy!
Thanks go out to momo for the idea, Jinx for testing, paipai for a copy of EvalMath and Miles Kaufmann for writing the EvalMath class.
题目很好理解,就是让你给出一个八条边都是a的四棱锥的体积公式。好吧,这是高中的几何题目了,便于理解,就用最笨的方法来解决这道题目试试看。
首先要求棱锥的体积,我们自然而然地想到公式:
那么底面积不用说,自然就是边长a的平方,至于四棱锥的高我们可以借助斜面上的高来使用勾股定理求得。
得到了高,我们与刚刚所得的底面积相乘后除以3便得到了所要求的体积表达式
鉴于上面的题目要求已经亲切的告诉了我们开方可以使用sqrt函数,那么这个表达式我们就可以写为sqrt(2)*a^3/6。满怀欣喜将答案输进文本框,点击提交。
看来答案并没有这么简单。仔细阅读报错,比对题目要求,原来答案要求不多于9个字符。所以这题真正的意图来了,也就是让人化简上面的表达式。
首先sqrt(2)这玩意就很不舒服,因为一个开2次方就占用了7个字符,后面就算再如何化简也无济于事。那么首先的着眼点就是化简这个。不难想到,一个数开方就是其二分之一次方。那么根号2就可以表示为2^(1/2),7个字符,再化简就是2^0.5,5个字符,还可以再化简2^.5,4个字符,已经到了最精简了。代回原式,表达式为a^3*2^.5/6,10个字符,离成功还差一点点。这时是不可能化简字符a的,那么我们只能在数字上做文章。
也就是说,分子的根号2和分母的6可以化为一边的一个数,那么我们再一次代入原式,a^3/18^.5,刚好为9个字符,符合了要求。
我未去尝试其他解法。本体有可能有其他解法。在成功解题后,在提交答案上方多了个查看所有提交的答案的页面,可以去逐一查询。