Example #1
0
File: 003.c Project: phorust/euler
int main(void) {
  /*ASSERT_EQUALS(largestPrimeFactor(83), 83);*/
  /*ASSERT_EQUALS(largestPrimeFactor(82), 41);*/
  ASSERT(!isPrime(8462696833));
  printf("%lu\n", largestPrimeFactor(600851475143LLU));
  return 0;
}
Example #2
0
long long largestPrimeFactor(long long n) {
    if (n == 1 || n == 2)
        return n;
    long long m = sqrt(n);
    for (long long i = 2; i <= m; i++) {
        if (n % i == 0) {
            long long f1 = largestPrimeFactor(i);
            long long f2 = largestPrimeFactor(n/i);
            if (f1 > f2) 
                return f1;
            else
                return f2;
        }
    }
    return n;
}
Example #3
0
int main() {

	int64_t number = 600851475143;
	std::cout << largestPrimeFactor(number) << std::endl;

	return 0;
}
Example #4
0
int main() {
  printf("%d\n", largestPrimeFactor(600851475143));
  return 0;
}
Example #5
0
int main(int argc, char* argv[]) {
    long long n = atoll(argv[1]);
    printf("%d\n", largestPrimeFactor(n));
    return 0;
}
Example #6
0
int main(int argc, char** argv) {
  int result = largestPrimeFactor(600851475143);
  printf("%d\n", result);
}