본문 바로가기
반응형

전체 글145

C언어, 거듭 제곱 거듭 제곱을 c언어로 구현을 해보도록 하겠습니다. 예를 들어 2의 3제곱 또는 2의 3승은 2를 3번 곱하는 것입니다. 즉, 2 * 2 * 2 = 8이 되겠죠. 이때, 2가 밑이고 3이 지수입니다. 아래의 함수에서는 밑을 nb라는 인자로 지수를 power이라는 인자로 사용하고 있습니다. 재귀함수를 이용하지 않는 버전과 이용하는 버전 이렇게 2가지를 한번 살펴보도록 하겠습니다. 우선 사용하지 않는 버전입니다. int OdOp_iterative_power(int nb, int power) { long long answer; if (power == 0) return (1); else if (power 0) { a.. 2023. 12. 10.
C언어, 피보나치 수열 피보나치 수열(Fibonacci Sequence)는 아래의 모습과 같이 1번째 항과 2번째 항을 더하면 3번째 항이 되고, 2번째 항과 3번째 항을 더하면 4번째 항이 됩니다. 즉, n번째 항은 n-1번째 항과 n-2번째 항의 합입니다. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 이제 피보나치 수열을 c언어를 활용하여 작성해 보도록 하겠습니다. 재귀 함수를 사용해야 하기 때문에 아직 잘 모르시는 분들은 아래의 링크를 참고해 주시길 바랍니다. (https://hig0617.tistory.com/25) int OdOp_fibonacci(int index) { if (index < 0) return (-1); else if (index < 2) return (index.. 2023. 12. 9.
C040_strlen 함수 구현해서 사용하기 우선 strlen함수를 사용해 봅시다. strlen은 문자열의 길이를 측정해 주는 함수입니다. #include #include int main() { printf("%d\n", (int)strlen("abcd")); return 0; } strlen은 어떤 자료형으로 출력을 할 것인지 정해주어야 합니다. 즉, 크기를 정해주어야 합니다. 저희가 이번에 만들 strlen함수는 int자료형을 반환해 주는 함수를 만들어 보도록 하겠습니다. strlen int OdOp_strlen(char *str) { int i; i = 0; while (str[i] != '\0') i++; return (i); } str문자열의 index를 기준으로 null문자가 나올 때까지 하나하나 읽습니다. null이 나온 인덱스 번호가.. 2023. 12. 8.
putnbr_base, 숫자를 진법으로 변환하기 입력받은 숫자를 진법으로 변환하여 출력하는 방법에 대해 알아보도록 하겠습니다. 우선 진법인 base가 적절한 형태로 되어 있는지 확인해 봅시다. OdOp_base int OdOp_base(char *base) { int n; int i; n = 0; while (base[n] != '\0') { i = 0; if (base[n] == '+' || base[n] == '-') return (0); else if (base[n] == 32 || (base[n] >= 9 && base[n] n - 1) { OdOp_putnbr(nbr / n, base, n); } write(1, &base[nbr % n], 1); } nbr을 n으로 나누어서 나오는 나머지를 가지고 base에서 원하는 부분을 추출합니다. 그전.. 2023. 12. 7.
반응형