##이론 노트 :
##코드 :
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
39
40
41
42
43
44
45
46
47
48
|
#include <stdio.h>
#include <stdlib.h>
#pragma warning (disable: 4996)
typedef unsigned long ULONG;
//Base : 밑 , Exponent : 지수
ULONG Power(int Base, int Exponent)
{
//1_ 종료조건 (지수가 0 , 1 일 때,)
if (Exponent == 0) {
return 1;
}
else if (Exponent == 1) {
return Base;
}
//2_ 지수가 짝수일 떄,
if (Exponent % 2 == 0)
{
ULONG NewBase = Power(Base, (Exponent) / 2);
return NewBase * NewBase;
}
else {
ULONG NewBase = Power(Base, (Exponent - 1) / 2);
return NewBase * NewBase * Base;
}
}
int main()
{
int b, e;
printf("밑을 입력하시오 : ");
scanf("%d", &b);
printf("지수를 입력하시오 : ");
scanf("%d", &e);
printf("%d^%d = %lu\n", b, e, Power(b, e));
return 0;
}
|
cs |
'알고리즘(C언어) > 이것이 자료구조+알고리즘이다(박상현)_알고리즘' 카테고리의 다른 글
(7)[Chapter12]분할정복_3_피보나치 수열(작성중) (2) | 2024.09.07 |
---|---|
(5)[Chapter12]분할정복_1_병합정렬(이론_노트) (0) | 2024.09.06 |
(4)[Chapter11]알고리즘_성능분석_4_재귀함수_시간복잡도구하기(마스터정리) (0) | 2024.09.01 |
(3)[Chapter11]알고리즘_성능분석_3_측정시간과 점근표기법 (0) | 2024.09.01 |
(2)[Chapter11]알고리즘_성능분석_2_퀵정렬_복습 (0) | 2024.08.31 |