【文字版】面试大厂,面试官竟然出了一道初中数学题?
前言
分享一道面試中的數(shù)學(xué)題,希望給大家一些想法。
在面試算法工程師這個(gè)崗位的時(shí)候,往往到主管面,面試就會(huì)顯得和之前有所不同。
比如我遇到的主管面,有聊天的,有上來做幾道算法題結(jié)束的,也有和之前一樣聊比賽,實(shí)習(xí)的,也有聊一個(gè)開放性問題的,讓我印象深刻的還有一次上來拋給我一道數(shù)學(xué)題。
讓我用公式推導(dǎo)的方式或者代碼模擬。
作為程序員當(dāng)然是用代碼解決問題啦(當(dāng)然也是數(shù)學(xué)知識(shí)有點(diǎn)記不清了)
題目
給與一個(gè)圓,在圓環(huán)上隨機(jī)取3個(gè)點(diǎn)組成一個(gè)銳角三角形的概率是多少?
分析
我們需要去解決的無疑是以下幾點(diǎn)
怎么用代碼的形式來表示一個(gè)圓上的三個(gè)點(diǎn)
怎么用條件去判斷這三個(gè)點(diǎn)所組成的圓是銳角的
需要想到的知識(shí)
三角函數(shù)中,我們常常采用2Π是代表360度,這里我們可以用單位圓上取點(diǎn)來表示這三個(gè)點(diǎn)
銳角三角形的三邊a<b<c,則 a2+b2>c2
代碼
import?math import?randomac_num?=?0 count?=?0 for?i?in?range(100000):pilist?=?[random.random()*2*math.pi?for?_?in?range(3)]x1,?y1?=?math.cos(pilist[0]),?math.sin(pilist[0])x2,?y2?=?math.cos(pilist[1]),?math.sin(pilist[1])x3,?y3?=?math.cos(pilist[2]),?math.sin(pilist[2])edge1?=?(x1-x2)**2?+?(y1-y2)**2edge2?=?(x3-x2)**2?+?(y3-y2)**2edge3?=?(x1-x3)**2?+?(y1-y3)**2lists?=?sorted([edge1,?edge2,?edge3])??#?默認(rèn)為升序if?lists[0]?+?lists[1]?>?lists[2]:ac_num?+=?1count?+=?1print(ac_num/count)模擬了10w次這個(gè)過程,結(jié)果逼近概率
其實(shí)就是 四分之一
你好,我是AI蝸牛車,我把自己比作蝸牛人生就像蝸牛一般,慢慢爬,往高處爬
保持謙遜,保持自律,保持進(jìn)步
b站搜索“AI蝸牛車”,有驚喜哈!
總結(jié)
以上是生活随笔為你收集整理的【文字版】面试大厂,面试官竟然出了一道初中数学题?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据-kafka学习(三)——Kafk
- 下一篇: 适合入门自学服装裁剪滴书(更新ing)