<font size="2" face="맑은 고딕">간단한 방법으로 원주율을 계산해봤습니다.</font> <div><font size="2" face="맑은 고딕">많이 알려진 방법이지만 직접 해보는 게 중요하니까요.</font></div> <div><font size="2" face="맑은 고딕"><br></font></div> <div><div> <div style="text-align:left;"> <div style="text-align:left;"> <div style="text-align:left;"><font size="2" face="맑은 고딕"><img src="http://thimg.todayhumor.co.kr/upfile/201506/1434525078BYZBcZEUMO7cU.png" width="208" height="208" alt="circle3.png" style="border:none;"></font></div></div><font size="2" face="맑은 고딕"><br></font></div> <div><font size="2" face="맑은 고딕">정의:</font></div> <div><font size="2" face="맑은 고딕">반지름 1인 원의 면적은 π.</font></div> <div><font size="2" face="맑은 고딕"><br></font></div> <div><span style="line-height:1.5;"><font size="2" face="맑은 고딕">방법:</font></span></div></div> <div><span style="line-height:1.5;"><font size="2" face="맑은 고딕">위 그래프를 아주 작게, 가로 세로 n 개로 나눠서 원점(0,0)에서 거리가 1 미만이면 원에 포함 되는 것으로 한다.</font></span></div> <div><span style="line-height:1.5;"><font size="2" face="맑은 고딕"><br></font></span></div> <div><font size="2" face="맑은 고딕"><span style="line-height:1.5;">double CalcPi (int n) {<span class="Apple-tab-span" style="white-space:pre;"> </span></span><span style="line-height:1.5;">// n : 분할 개수</span></font></div> <div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>double dv, da, pi, x, y;</font></div> <div><span class="Apple-tab-span" style="white-space:pre;"><font size="2" face="맑은 고딕"> </font></span></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>dv = 2.0 / n;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 나눈 점의 크기</font></div> <div><font face="맑은 고딕"><font size="2"><span class="Apple-tab-span" style="white-space:pre;"> </span>da = dv * dv;<span class="Apple-tab-span" style="white-space:pre;"> </span></font><span style="font-size:small;line-height:19.5px;">// 나눈 점의 </span><span style="font-size:small;line-height:19.5px;">면적</span></font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>pi = 0;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 원의 면적</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>for (x = -1; x < 1; x += dv) {<span class="Apple-tab-span" style="white-space:pre;"> </span>// x 축으로 n 번</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>for (y = -1; y < 1; y += dv) {<span class="Apple-tab-span" style="white-space:pre;"> </span>// y 축으로 n 번, 총 n*n 번 계산</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>if (x*x + y*y < 1) {<span class="Apple-tab-span" style="white-space:pre;"> </span>// 원점에서 거리가 1 미만이면</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>pi += da;<span class="Apple-tab-span" style="white-space:pre;"> </span>// 면적 추가</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>}</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>return pi;</font></div> <div><font size="2" face="맑은 고딕">}</font></div></div></div> <div><font size="2" face="맑은 고딕"><br></font></div> <div><font size="2" face="맑은 고딕">결과:</font></div> <div><font size="2" face="맑은 고딕">10 개로 분할 (백 번 계산)</font></div> <div><div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf ( "π = %f\n", CalcPi (10) );</font></div></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>π = <b>3.000000</b></font></div> <div><div><font size="2" face="맑은 고딕">100 개로 분할<span style="line-height:1.5;"> </span><span style="line-height:1.5;">(만 번 계산)</span></font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf ( "π = %f\n", CalcPi (100) );</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>π = <b>3.135600</b></font></div></div> <div><div><font size="2" face="맑은 고딕">1,000 개로 분할 (백만 번 계산)</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf ( "π = %f\n", CalcPi (1000) );</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>π = <b>3.141364</b></font></div></div> <div><div><font size="2" face="맑은 고딕">10,000 개로 분할 (일억 번 계산)</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf ( "π = %f\n", CalcPi (10000) );</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>π = <b>3.141587</b></font></div></div> <div><div> <div><font size="2" face="맑은 고딕">100,000 개로 분할 (백억 번 계산)</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>printf ( "π = %f\n", CalcPi (100000) );</font></div> <div><font size="2" face="맑은 고딕"><span class="Apple-tab-span" style="white-space:pre;"> </span>π = <b>3.141592</b></font></div></div></div> <div><font size="2" face="맑은 고딕"><br></font></div> <div><font size="2" face="맑은 고딕">백억 번 계산하면 컴퓨터가 힘들어합니다.</font></div> <div><font size="2" face="맑은 고딕">4년 된 i5-2430M 노트북으로 24초 걸렸습니다. ^^;</font></div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.