commit
d6947d0fbd
@ -117,6 +117,7 @@
|
||||
* [AbsoluteMax](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMax.java)
|
||||
* [AbsoluteMin](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMin.java)
|
||||
* [AbsoluteValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteValue.java)
|
||||
* [AliquotSum](https://github.com/TheAlgorithms/Java/blob/master/Maths/AliquotSum.java)
|
||||
* [AmicableNumber](https://github.com/TheAlgorithms/Java/blob/master/Maths/AmicableNumber.java)
|
||||
* [Area](https://github.com/TheAlgorithms/Java/blob/master/Maths/Area.java)
|
||||
* [Average](https://github.com/TheAlgorithms/Java/blob/master/Maths/Average.java)
|
||||
@ -134,6 +135,7 @@
|
||||
* [GCDRecursion](https://github.com/TheAlgorithms/Java/blob/master/Maths/GCDRecursion.java)
|
||||
* [LucasSeries](https://github.com/TheAlgorithms/Java/blob/master/Maths/LucasSeries.java)
|
||||
* [MaxValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/MaxValue.java)
|
||||
* [Median](https://github.com/TheAlgorithms/Java/blob/master/Maths/Median.java)
|
||||
* [MinValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/MinValue.java)
|
||||
* [Mode](https://github.com/TheAlgorithms/Java/blob/master/Maths/Mode.java)
|
||||
* [NumberOfDigits](https://github.com/TheAlgorithms/Java/blob/master/Maths/NumberOfDigits.java)
|
||||
|
35
Maths/AliquotSum.java
Normal file
35
Maths/AliquotSum.java
Normal file
@ -0,0 +1,35 @@
|
||||
package Maths;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* In number theory, the aliquot sum s(n) of a positive integer n is the sum of all proper divisors of n,
|
||||
* that is, all divisors of n other than n itself.
|
||||
* For example, the proper divisors of 15 (that is, the positive divisors of 15 that are not equal to 15)
|
||||
* are 1, 3 and 5, so the aliquot sum of 15 is 9 i.e. (1 + 3 + 5).
|
||||
* </p>
|
||||
* Wikipedia: https://en.wikipedia.org/wiki/Aliquot_sum
|
||||
*/
|
||||
public class AliquotSum {
|
||||
public static void main(String[] args) {
|
||||
assert aliquotSum(1) == 0;
|
||||
assert aliquotSum(6) == 6;
|
||||
assert aliquotSum(15) == 9;
|
||||
assert aliquotSum(19) == 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the aliquot sum of an integer number
|
||||
*
|
||||
* @param number a positive integer
|
||||
* @return aliquot sum of given {@code number}
|
||||
*/
|
||||
public static int aliquotSum(int number) {
|
||||
int sum = 0;
|
||||
for (int i = 1, limit = number / 2; i <= limit; ++i) {
|
||||
if (number % i == 0) {
|
||||
sum += i;
|
||||
}
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
}
|
28
Maths/Median.java
Normal file
28
Maths/Median.java
Normal file
@ -0,0 +1,28 @@
|
||||
package Maths;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Wikipedia: https://en.wikipedia.org/wiki/Median
|
||||
*/
|
||||
public class Median {
|
||||
public static void main(String[] args) {
|
||||
assert median(new int[]{0}) == 0;
|
||||
assert median(new int[]{1, 2}) == 1.5;
|
||||
assert median(new int[]{4, 1, 3, 2}) == 2.5;
|
||||
assert median(new int[]{1, 3, 3, 6, 7, 8, 9}) == 6;
|
||||
assert median(new int[]{1, 2, 3, 4, 5, 6, 8, 9}) == 4.5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate average median
|
||||
*
|
||||
* @param values number series
|
||||
* @return median of given {@code values}
|
||||
*/
|
||||
public static double median(int[] values) {
|
||||
Arrays.sort(values);
|
||||
int length = values.length;
|
||||
return length % 2 == 0 ? (values[length / 2] + values[length / 2 - 1]) / 2.0 : values[length / 2];
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user