2010-12-05 3 views
-1

와 함께 Java에서 시간을 계산하는 올바른 코드는 무엇입니까 public static int getGcd (int a, int b, int temp) format?내 Java 프로그램에서 런타임을 추가하십시오

+4

'getGcd()'? 그것은 연대순이 아닌 수학적으로 들립니다 ... –

+0

GCD를 계산하는 데 걸리는 시간을 원하십니까? 귀하의 질문은 명확하지 않습니다. –

+0

가능한 복제본 [내 프로그램에 도움이 필요함] (http://stackoverflow.com/questions/4362739/i-need-help-in-my-program) –

답변

2

간단한 해결책 :

첫째, 잡아 당신은 당신의 실행 시간을 원하는 코드의 조각을 시작하기 전에 시간을 저장 : 당신이 잡아를 추적하는 코드 후

long start =System.currentTimeMillis();

을 현재 시간을 계산하고 시작 지점에서 빼서 총 경과 시간을 구하십시오.

0

비교적 빠르게 실행되고 y ou're, 임의 입력의 무리에 그것을 실행하여 평균 시간을 얻으려고 노력은 사용이 당신에게 나노초의 평균 시간을 제공

long totalTime = 0; 
long start = System.nanoTime(); 
for(int i=0;i<n;i++){ 
    //Generate a and b 
    getGcd(a, b); 
} 
long end = System.nanoTime(); 
totalTime = end - start; 
start = System.nanoTime(); 
for (int i=0;i<n;i++){ 
    //Generate a and b 
} 
end = System.nanoTime(); 
totalTime -= end - start; 
return totalTime/n; 

.

GCD의 평균 실행 시간을 찾는 것은 매우 흥미롭고 복잡한 문제입니다. 최악의 경우, 입력 값은 황금 평균에 가까운 비율 (예 : 피보나치 숫자 연속)을 가졌고 실행 시간은 O (log n)입니다. 그러나 매우 많은 인풋을 가지고 있고 본질적으로 일정한 시간을 가지는 것은 여전히 ​​가능합니다. 나는 당신의 결과를 알고 싶어 할 것입니다.

관련 문제