정성훈
    실습 프로그램 예)
power_compare.txt [1 KB]   power_callreturn.txt [1 KB]  
  http://



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
double slow_power(double x, int n)
{
    int i;
 
    double r = 1.0;
 
    for (i = 0; i < n; i++)
        r = r * x;
    return (r);
}
 
double power(double x, int n)
{
    if (n == 0) return 1;
    else if ((n % 2) == 0)
        return power(x*x, n / 2);
    else return x * power(x*x, (n - 1) / 2);
}
 
int main(void)
{
    double  x, value_slow, value;
    int n;
 
    x = 2;
    n = 10;
 
    value_slow = slow_power(x, n);
    value = power(x, n);
 
 
    printf("slow_power(%lf,%d) = %lf \n", x, n, value_slow);
    printf("power(%lf, %d) = %lf \n", x, n, value);
}
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>
 
double power(double x, int n)
{
    double value, result;
 
    printf("call power(%lf, %d) \n", x, n);
    if (n == 0) {
        printf("return 1\n");
        return 1;
    }
    else if ((n % 2) == 0) {
        value = power(x*x, n / 2);
        printf("return %lf \n", value);
        return value;
    }
    else {
        value = power(x*x, (n - 1) / 2);
        result = x * value;
        printf("return %lf * %lf \n", x, value);
        return result;
    }
}
 
int main(void)
{
    double  x, value_slow, value;
    int n;
 
    x = 2;
    n = 10;
 
    value = power(x, n);
 
    printf("power(%lf, %d) = %lf \n", x, n, value);
}
cs

  등록일 : 2020-09-13 [17:26] 조회 : 2438 다운 : 805   
 
△ 이전글(실습 2) 순환 // 4주차 오프라인 실습
▽ 다음글실습 프로그램 예)
자료구조 실습게시판
번호 ⓒ 제 목
l실습 운영 방안
l[참고] 교재에 있는 소스코드
l실습 목차
lMS Visual Studio 2026에서 한글 깨지는 문제 해결 방법 (gemini)
31 └❶ l실습 프로그램 예)
30    └❷ l실습 프로그램 예)
29       └❸ 💯 구조체 데이터의 swap (추가)ⓘ
28          └❹ (추가) 실습 프로그램 예) // 1) 구조체 복사©
27             └❺ (추가) 실습 프로그램 예) // 2) 구조체 배열의 첫번째와 두번째를 swap
26                └❻ (추가) 실습 프로그램 예) // 3) 구조체 전체 copy
25                   └❼ (추가) 실습 프로그램 예) // 구조체 버블 정렬
24 l(실습 2) 순환 // 4주차 오프라인 실습ⓘ
23 └❶ l실습 프로그램 예)
22    └❷ l실습 프로그램 예)
21       └❸ l실습 프로그램 예)
20          └❹ 💯 power 다른 순환 구현 및 구구단 출력 (추가)ⓘ
19             └❺ (추가) 실습 프로그램 예) // power 구현
18                └❻ (추가) 실습 프로그램 예) // 구구단 구현
17 l(실습 1) 선택정렬 // 3주차 오프라인 실습
16 └❶ l실습 프로그램 예)
15    └❷ 💯 문자열 정렬 (추가)
14       └❸ (추가) 실습 프로그램 예) // 선택정렬
13          └❹ (추가) 실습 프로그램 예) // 버블정렬
12 └❶ 버블 정렬

[1][2][3][4][5]