1
0
Fork 0
euler/p12.c
2010-06-21 14:41:00 +02:00

40 lines
527 B
C

/*
* http://projecteuler.net
*
* Projecteuler - Problem 12
* ------------------------
* 2010-06-18 Henrik Hautakoski
*/
#include "lib/prime.h"
#include <stdio.h>
int ndiv(int n) {
int i, exp, ndiv = 1;
for(i=2; i <= n; i++) {
if (!is_prime(i))
continue;
for(exp = 0; n % i == 0; n /= i, exp++);
if (exp > 0)
ndiv *= exp+1;
}
return ndiv;
}
int main() {
int i, num = 1;
for(i=2; ndiv(num) <= 500; num += i++);
printf("%i\n", num);
return 0;
}