안녕하세요 오늘은 지수를 구하는 코드를 작성해보겠습니다 .
거듭제곱: 같은 수를 여러 번 곱한 것
밑 : 거듭제곱에서 곱한 수 (a)
지수 : 거듭제곱에서 밑이 곱해진 횟수 (n)
aⁿ
작성할 코드는 아래와 같은 형태인 자연수의 지수를 구할 수 있는 코드입니다
9 -> 3의 2승
16 -> 2의 4승
빨강색의 값이 구할 값 입니다
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
|
#include<stdio.h>
unsigned char get_index(unsigned char num,unsigned char under)
{
char i=0;
while(1)
{
if(num==1)
return i;
i++;
if( (num%under) == 0)
num = num/under;
else
{
printf("ERROR \n");
return 0;
}
}
}
int main()
{ // num > 1, under > 1
printf("16은 2의 몇승? : %d \n",get_index(16,2));
printf("16는 4의 몇승? : %d \n",get_index(16,4));
printf("125는 5의 몇승? : %d \n",get_index(125,5));
printf("100은 10의 몇승? : %d \n",get_index(100,10));
if(get_index(100,3) != 0)
printf("100은 3의 몇승? : %d \n",get_index(100,3));
}
|
cs |
결과
13번째 줄에서 나머지가 0이 아니면 자연수가 아니므로 에러입니다
8번째 줄에서 num가 1이 되면 지수 값을 리턴 시켜줍니다
'프로그래밍 언어 > C언어' 카테고리의 다른 글
예시로 알아보는 volatile 한정자 (0) | 2022.01.12 |
---|---|
C언어 Storage Class, Auto, Register, Extern, Static이란? (0) | 2022.01.10 |
포인터 활용하기 (0) | 2021.08.07 |
C언어 문자열 검색하기 (0) | 2021.06.07 |
동적메모리할당 2편 (0) | 2021.05.05 |