• º» °Ô½ÃÆÇÀº ¼ö¾÷½Ã°£¿¡ Çлýµé ½Ç½ÀÀ» À§ÇÑ °Ô½ÃÆÇÀÔ´Ï´Ù.
  • º» °Ô½ÃÆÇ¿¡ ¿Ã¶ó¿Í ÀÖ´Â ÇÁ·Î±×·¥Àº ´ëºÎºÐ ¿Ã¹Ù¸£Áö ¾ÊÀº ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
        À±Çü½Ä
        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] Á¶È¸ : 261 ´Ù¿î : 0   
     
    ¡â ÀÌÀü±Û¾ß±¸½Ç½À
    ¡ä ´ÙÀ½±ÛÅ¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö
    Çлý½Ç½À °Ô½ÃÆÇ
    ¹øÈ£ ¨Ï Á¦ ¸ñ À̸§ Á¶È¸ µî·ÏÀÏ
    103 ÀüÈ­¹øÈ£ ¼öÁ¤ÇÏ´Â ÇÁ·Î±×·¥ ÇÁ·Î±×·¡¹Ö¾ð¾î ÀÓÀç¸ð 3 12-03
    102 14ÁÖÂ÷ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î Â÷»ó¹Î 3 12-03
    101 °áÁ¤ Æ®¸® ÀڷᱸÁ¶ À̱âÁ¤ 34 11-26
    100 ¾ß±¸½Ç½ÀN ÇÁ·Î±×·¡¹Ö¾ð¾î ÃÖÇö¿ì 63 11-19
    99 ¾ß±¸½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î ¹éÀμ­ 59 11-19
    98 11ÁÖÂ÷ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î ÀüÈ£¼º 67 11-12
    97 Å¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö ÇÁ·Î±×·¡¹Ö¾ð¾î ÀÓÀç¸ð 109 10-29
    96 Å¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö BFS ±¸Çö ÀڷᱸÁ¶ À̱âÁ¤ 104 10-29
    95 Á¶°Ç¹® µµÀü°úÁ¦1 ÇÁ·Î±×·¡¹Ö¾ð¾î ÃÖÇö¿ì 144 04-12
    94 4¿ù12ÀÏ ¼¼¼ö ºñ±³ ½Ç½À ÇÁ·Î±×·¡¹Ö¾ð¾î À±¿µ¹Î 162 04-12
    93 µµÀü¹®Á¦ ÇÁ·Î±×·¡¹Ö¾ð¾î ÀÌÀ±È¯ 150 04-12
    92 asdff ºñ°ø°³ ÇÁ·Î±×·¡¹Ö¾ð¾î À±Çü½Ä 225 11-28
    91 ¾ß±¸°ÔÀÓ ÇÁ·Î±×·¡¹Ö¾ð¾î À±Çü½Ä 189 11-28
    90 ddd ÇÁ·Î±×·¡¹Ö¾ð¾î À±Çü½Ä 261 10-31
    89 ½Ç½À2 ÇÁ·Î±×·¡¹Ö¾ð¾î ¼­¼ºÀº 621 03-16

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