例1 printN
#INCLUDE <cstdio> // 무효 PrintN (INT의 N) {// // 대 (INT I = 1; i가 <= N; I ++) {// //의 printf ( "% D \ 없음 "I); //} // // 것은 반환; } // 무효 PrintN (INT의 N) { (N) 경우에 { PrintN (N - 1); 의 printf ( "% D \ 없음", N); } 반환; } INT의 main () { INT 않음; scanf와 ( "%의 D", N); PrintN (N); 0을 반환; }
예 2 : 다항식
시간을 실행하면 그 진드기가 그것을 사용 시간이하는 방법을 보여줍니다, 틱보다 적은? (즉, 프로그램 실행 시간 미만의 눈금을 측정하는 방법?)
측정 된 총 횟수 카운트 클럭 간격은 각 실행에 대해 계산 된 평균의 마지막 측정 된 시간 함수 충분히 길게되도록 기능 시험을 실행하기 위해 다수 회 반복된다하자
// F (X) = A0 + ... + AN-A1X + + 1 × ANX ^. ^ 1-N-N- #INCLUDE <cstdio> #INCLUDE <ctime이> #INCLUDE <cmath> #DEFINE MAXN 10 // 최대 다항식 용어 계수, 즉, 다항식의 차수 +1 #DEFINE 반복의 최대 수 maxk 1E7 // 테스트 함수 호출 더블 F1을 (N-INT 더블 A [] 더블 X) 더블 F2 (N-INT 더블 A [] 더블 X) ; 무효 시간 (더블 (* F2) (INT 않음 더블 A [ ] 더블 X)) 로 더블 [MAXN]; // 저장된 다항식 계수 무효 시간 (더블 (* F2) (INT 않음 더블 A [ ] 더블 X가)) { clock_t는 시작, 정지, 더블 DURATION, 시작 = 클럭 (); / * 함수를 반복적으로 호출 클럭 재생되는 점의 충분한 수를 구하는 * / 대 (INT I = 0; I <maxk, I는 ++) { F2 (MAXN - 1, A, 1.1.) } STOP = 클럭 (); // 번의 실행에서 시간의 함수를 계산 시간 = ((더블) (정지 - 시작)) / CLK_TCK / MAXK; 인 printf ((배) (정지 "= F % \ 없음 틱"시작 -)); 의 printf ( "지속 기간 = 6.2e % \ 없음", 길이); } 이중 F1 (INT 않음은 [] 더블 X 배) { 이중 p = A [0]; 경우 (; 나는 = <N; I = 1 값 int I ++) { P + = (A [i]는 * POW (X, ⅰ)); } 페이지를 반환; } 이중 F2 (INT 않음은 [] 더블 더블 X) { 두 쪽 = A [N]; - 위해 (I; I> 0 I = N INT) { p는 [I - 1] + = X * P를; } 페이지를 반환; } INT의 main () { INT (I = 0; I는를 <MAXN; I ++)에 대해 { A [I] = (더블) I; } 시간 (F2); 0을 반환; } / * 틱 = 1813.000000 기간 = 1.81e-007 틱 = 297.000000 기간 = 2.97e-008 * /