int is_amicable(int a, int b){ if(divisor_sum(a) == b && divisor_sum(b) == a && a != b) return 1; return 0; }
int main(int argc, const char *argv[]) { int i, j; for (i = 1; i <= 3000; i++) { j = divisor_sum(i); if (divisor_sum(j) == i && i < j) printf("(%d,%d)", i, j); } return 0; }
int main(){ int i; int amicableSum = 0; for(i=1; i<10000; i++){ if(is_amicable(i,divisor_sum(i))) amicableSum += divisor_sum(i); } printf("%d\n",amicableSum); }
int main(void) { int x[TARGET], i, ans = 0; for(i = 1; i < TARGET; i++) { x[i - 1] = divisor_sum(i); if(x[i - 1] < i && x[ x[i - 1] - 1 ] == i) ans += i + x[i - 1]; } printf("answer: %d\n", ans); }
uint16_t is_perfect(uint16_t n) { return ( divisor_sum(n) == n) ? 1 : 0 ; }
uint16_t is_abundant( uint16_t n ) { return ( divisor_sum(n) > n) ? 1 : 0 ; }