用C语言编写一个程序,求解 600851475143 的最大质数因子是多少?

初学C语言,对于此问题无从下手,望牛人写一个便于理解的注释,剖析一下如何如何引入变量,原因是什么

初学C?这个程序可不简单啊。质数分解运算量很大。

#include <stdio.h>

long long LPF(long long n) {
    long long ma = 1;
    for (long long i = 2; i <= n; i++) {
        while (n % i == 0) {
            ma = i;
            n /= i;
        }
    }
    return ma;
}

int main() {
    long long n;
    printf("请输入一个长整型数n:");
    scanf("%lld", &n);
    long long result = LPF(n);
    printf("最大质因数为:%lld", result);
    return 0;
}

供参考:

#include <stdio.h>
int main()
{
    unsigned long long int n = 600851475143, i;
    for(i = 2; i <= n; i++) {
        while(n != i){
            if(n % i == 0)
                n /= i;
            else
                break;
        }
    }
    printf("%llu",n);
    return 0;
}