Help me in solving LPYAS154 problem

My issue

answer

My code

#include <stdio.h>
int factorial(int n) {
    int fact = 1;
    for (int i = 1; i <= n; i++) {
        fact *= i;
    }
    return fact;
}
int main() {
    int num, fact, sum = 0;
    scanf("%d", &num);
    fact = factorial(num);
    while (fact != 0) {
        sum += fact % 10;
        fact /= 10;
    }
    printf("%d\n", sum);
    return 0;
}

Learning course: Roadmap to 3*
Problem Link: https://www.codechef.com/learn/course/klu-roadmap-3star/KLURMP300B/problems/LPYAS154