注意: 解けてません
Problem 3

13195 の素因数は 5、7、13、29 である。

600851475143 の素因数のうち最大のものを求めよ。


プログラム
#include<stdio.h>

void main(void){
long x = 600851475143; // この大きい数字の扱い方が分からん
int num;
int max_num = 0;
printf("Q3:600851475143 の素因数のうち最大のもの\n");

// ココ以下も充分ではない
for(num = 2; num < x/2; num++){ // x/2以上の数字では割り切れないのでx/2まで
if(x % num == 0) max_num = num; // xがnumで割り切れたら、numをmax_numへ
}

printf("%d\n\n",max_num);
}

結果
Q3:600851475143 の素因数のうち最大のもの
0

600851475143・・・long long型が使えない環境では、どうすればいいんでしょうか