Skip to content

Instantly share code, notes, and snippets.

@javascripter
Created March 24, 2010 16:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save javascripter/342466 to your computer and use it in GitHub Desktop.
Save javascripter/342466 to your computer and use it in GitHub Desktop.
#include <stdio.h>
long long int isqrt(long long int n) {
int i;
for (i = 1; n > 0; i++) {
n -= i * 2 + 1;
}
return i - 1;
}
int main(void) {
long long int n = 60085147, i, rt = isqrt(n), prime_factor = -1;
for (i = 2; i <= rt; i++) {
if (n % i == 0) {
prime_factor = i;
do {
n /= i;
} while (n % i == 0);
}
}
printf("%lld\n", prime_factor);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment