コードに問題があり、何が原因かわかりません。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;
}