How to print the first abundant odd number greater than one billion in Java

1 Answer

0 votes
// abundant odd number = sum of proper divisors > number

public class MyClass {
    private static int SumOddNumberProperDivisors(final int num) {
    	int sum = 1;
    
    	for (int i = 3, j; i < Math.sqrt(num) + 1; i += 2) {
    		if (num % i == 0) { 
    			sum += i + (i == (j = num / i) ? 0 : j);
    		}
    	}
    
    	return sum;
    }
    public static void main(String args[]) {
        int num = 1000000001;

    	for (;; num += 2) {
    		if (SumOddNumberProperDivisors(num) > num) {
    			break;
    		}
    	}
    
    	System.out.print(num);
    }
}






/*
run:
  
1000000575
  
*/

 



answered Oct 30, 2022 by avibootz

Related questions

1 answer 107 views
1 answer 110 views
1 answer 112 views
1 answer 100 views
...