Я пытался написать программу для нахождения наибольшего простого множителя из 600851475143 и столкнулся с некоторыми трудностями при запуске программы, показанной ниже.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
long long n = 600851475143;
long long largest = 0;
int prime(long long c);
int main()
{
for (long long i = 0; i < n; i++)
{
if (n % i == 0 && prime(i) == 0)
{
largest = i;
}
}
printf("%ll\n", largest);
return 0;
}
int prime(long long c)
{
for (long long j = 0; j < c; j++)
{
if (c % j == 0)
{
return 1;
}
}
return 0;
}
Программа компилируется без каких-либоошибки или предупреждения, но когда я запускаю программу, она запускается в течение нескольких секунд, но затем завершает работу, ничего не выводя, даже если в конце main
есть оператор printf.Я использую MinGW и gcc на Windows, если это поможет.