• 본 게시판은 수업시간에 학생들 실습을 위한 게시판입니다.
  • 본 게시판에 올라와 있는 프로그램은 대부분 올바르지 않은 프로그램입니다.
        윤형식
        ddd



    #include <stdio.h>

    #include <stdlib.h>

     

    struct Stack {

        int capacity;

        int top;

        int* array;

    };

     

     

    struct Stack* createStack(unsigned capacity) {

        struct Stack* stack = (struct Stack*)malloc(sizeof(struct Stack));

        stack->capacity = capacity;

        stack->top = -1;

        stack->array = (int*)malloc(stack->capacity * sizeof(int));

        return stack;

    }

     

     

    int isEmpty(struct Stack* stack) {

        return stack->top == -1;

    }

     

     

    int isFull(struct Stack* stack) {

        return stack->top == stack->capacity - 1;

    }

     

     

    void push(struct Stack* stack, int item) {

        if (isFull(stack)) {

            return;

        }

        stack->array[++stack->top] = item;

    }

     

     

    int pop(struct Stack* stack) {

        if (isEmpty(stack)) {

            return -1;

        }

        return stack->array[stack->top--];

    }

     

    long long int factorial(int n) {

        if (n <= 1) {

            return 1;

        }

     

        struct Stack* stack = createStack(n);

        long long int result = 1;

     

        while (n > 1) {

            push(stack, n);

            n--;

        }

     

        while (!isEmpty(stack)) {

            result *= pop(stack);

        }

     

        free(stack);

        return result;

    }

     

    int main(void) {

        int num;

        printf("insert num: ");

        scanf("%d", &num);

     

        if (num < 0) {

            printf("negative cant be calculated.\n");

        } else {

            long long int result = factorial(num);

            printf("factorial(%d): %lld\n", num, result);

        }

     

        return 0;

    }

     

      등록일 : 2023-10-31 [14:43] 조회 : 114 다운 : 0   
     
    △ 이전글4월12일 세수 비교 실습
    ▽ 다음글asdff
    학생실습 게시판
    번호 제 목 이름 조회 등록일
    95 조건문 도전과제1 프로그래밍언어 최현우 17 04-12
    94 4월12일 세수 비교 실습 프로그래밍언어 윤영민 19 04-12
    93 도전문제 프로그래밍언어 이윤환 10 04-12
    92 asdff 비공개 프로그래밍언어 윤형식 55 11-28
    91 야구게임 프로그래밍언어 윤형식 49 11-28
    90 ddd 프로그래밍언어 윤형식 114 10-31
    89 실습2 프로그래밍언어 서성은 423 03-16
    88 └❶ 실습2 프로그래밍언어 정성훈 359 03-16
    87 야구 프로그래밍언어 백현민 602 10-31
    86 거꾸로 프로그래밍언어 김경회 610 09-26
    85 ㅁㄴㅇ 프로그래밍언어 조문근 725 06-13
    84 로또 프로그래밍언어 김상우 754 05-30
    83 함수 프로그래밍언어 김경회 829 05-23
    82 proto 프로그래밍언어 이현식 708 05-23
    81 함수 프로그래밍언어 박병민 694 05-23

    [1][2][3][4][5][6][7]