#include <stdio.h>
#include <math.h>
// abundant odd number = sum of proper divisors > number
unsigned SumOddNumberProperDivisors(const unsigned num) {
unsigned sum = 1;
for (unsigned i = 3, j; i < sqrt(num) + 1; i += 2)
if (num % i == 0)
sum += i + (i == (j = num / i) ? 0 : j);
return sum;
}
int main()
{
unsigned num = 1000000001;
for (;; num += 2) {
if (SumOddNumberProperDivisors(num) > num) {
break;
}
}
printf("%u", num);
return 0;
}
/*
run:
1000000575
*/