僕が受験に失敗し続けたのは「自己肯定感」が原因では?
mokabuu
mokabuu.com
問:乱数を使って円周率を求めなさい。
出典:YouTubeで紹介されていた技術面接の問題。
2017年にエンジニアからコンサルタントに転職してからもコードは書いていますが、あくまで趣味や自分の業務短縮のためのコードであり、バリバリの開発の最前線でコードを書くことがなくなってしまいした。
それによって「数学的思考能力」が著しく衰えているのを感じたため、最近は時間を見つけてはアルゴリズムの問題を解くようにしています。
今日は、こちらのYouTubeビデオの問題をといてみました。
#!/usr/bin/env python
# coding: utf-8
import random
def calc_pi(n):
total_number_in_circle = 0
total_number_in_square = 0
for num in range(n):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
total_number_in_circle += 1
total_number_in_square += 1
pi = 4 * total_number_in_circle/total_number_in_square
print(pi)
calc_pi(10000000)
解き終わってからビデオの続きを見たのですが、解法が同じで安心しました。
この問題は「半径1の円を描く」という発想が鍵な気がしました。
頭を柔軟に柔らかく、これからも隙間時間で脳の体操を続けたいなと思います。
[adsense]