Factorial -C (Linux)

Pav*_*tar 1 c optimization factorial

Please suggest me a more efficient alternative to go about this Program

#include <stdio.h>

int main(void)
{
    int k, i, t;
    int arr[100]; //Declaring an array

    printf("Enter a positive integer: ");
    scanf("%d", &k);

    for (i = 0; i < k; i++)
    {
        //printf("enter a value %d : ", i);
        scanf("%d", &arr[i]);
    }

    for (i = 0; i < k; i++)
    {
        fact(arr[i]);
    }

}

int fact(int num) // defining function fact(Num)
{

    int i;
    int fact1 = 1;

    for (i = 1; i <= num; i++)
    {
        fact1 = fact1 * i;
    }

    printf("%ld\n", fact1);

}
Run Code Online (Sandbox Code Playgroud)

Joh*_*ook 5

对于小论点,我同意Hamish Grubijan的评论:只是将值列表并在运行时查看它们.没有那么多的n值!可以在机器编号中表示,因此您可以将它们全部制成表格.

n的对数!通常更有用.当n时,它将适合机器编号!本身会溢出.请参见如何计算日志因子.