<div>안녕하세요. 지금 중간고사기간이라 책에 나와있는 예제를 직접 쳐보고있습니다.</div> <div>그런데 코드는 문제가 없는데 결과에 의문이 생겨서 질문드립니다.</div> <div> </div> <div>우선 제가 따라한 코드입니다.</div> <div>#include<stdio.h></div> <div>#include<time.h></div> <div> </div> <div>int MaxSubsequenceSum (const int A[],int N)<br>{<br> int ThisSum, MaxSum, i, j, k;<br> MaxSum = 0;<br> for (i=0;i<N;i++)<br> for(j=i;j<N;j++)<br> {<br> ThisSum=0;<br> for(k=i;k<=j;k++)<br> ThisSum+=A[k];<br> if(ThisSum>MaxSum)<br> MaxSum=ThisSum;<br> }<br> return MaxSum;<br>}</div> <div>로 제가 사용할 함수를 만들었습니다.</div> <div>그리고 메인 부분에서 파일 입출력으로 1000개짜리 숫자가 있는 txt파일을 불러왔습니다.</div> <div>FILE *fp;<br> int sample2[1000];</div> <div> </div> <div>그리고 시간 숫자를 넣을 변수</div> <div>clock_t start;<br> clock_t end;를 지정해줬구요.</div> <div> </div> <div>그 다음 </div> <div>start=clock();<br> {<br> MaxSe= MaxSubsequenceSum(sample2, j);<br> }<br> end=clock();<br> difference=difftime(end,start);</div> <div> printf("알고리즘 1의 N=%d일 때, 소요시간은 %.6fsec\n",j,difference);<br> printf("알고리즘 1을 이용한 N=%d일 때의 Maximum Subsequence Sum은 %d\n\n",j,MaxSe);</div> <div> </div> <div>로 difftime을 사용하여 소요시간과, 함수값을 나오게 설정했습니다.</div> <div> </div> <div>그런데 문제는 여기서 발생했습니다.</div> <div>1000개정도의 작은 데이터는 컴퓨터가 빨리 처리해서 늦어도 2초안에 cmd창에 결과가 나타났습니다.</div> <div>그런데 cmd창에는 536.000000sec정도의 값이 나타났습니다.</div> <div> </div> <div>제가 알기로는, 또 네이버에서 difftime, 구글에서 difftime sec을 검색해도,</div> <div>다 difftime은 sec의 단위를 쓴다고 나옵니다.</div> <div>그런데 왜... 결과가 나오는데 2초만에 나타났으면서 소요시간이 536sec가 걸렸다고 나오는거죠?</div> <div> </div> <div>컴퓨터가 계산하는 sec과 보통 시간과는 다른건가요?</div> <div>사실 잘 이해가 안갑니다. </div> <div style="text-align:left;"><img width="0" height="0" style="border:;" alt="123.jpg" src="http://thimg.todayhumor.co.kr/upfile/201504/1428753384PjrpnzPkK5ViRSO8l4zcTf1.jpg"></div><br>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.