我的代码有问题,我不知道是什么。GCC 编译它时没有任何警告,但运行时没有任何输出。
我只是在学习c(这实际上是欧拉的问题3。找到600851475143的最大素数)。
这段代码有什么问题?
#include <stdio.h>
int primeCheck(unsigned long input);
int main(){
//goal: find largest prime factor of 600851475143
unsigned long goal = 600851475143;
for(unsigned long i = 600851475142; i > 0; i--){
if(primeCheck(i) == 1 && goal%i == 0)
printf("\n%lu\n\n", i);
}
}
int primeCheck(unsigned long input){
for(unsigned long i = 2; i < input; i++){
if(input%i == 0)
return 0;
}
return 1;
}