commit
d6947d0fbd
@ -117,6 +117,7 @@
|
|||||||
* [AbsoluteMax](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMax.java)
|
* [AbsoluteMax](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMax.java)
|
||||||
* [AbsoluteMin](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMin.java)
|
* [AbsoluteMin](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteMin.java)
|
||||||
* [AbsoluteValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/AbsoluteValue.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)
|
* [AmicableNumber](https://github.com/TheAlgorithms/Java/blob/master/Maths/AmicableNumber.java)
|
||||||
* [Area](https://github.com/TheAlgorithms/Java/blob/master/Maths/Area.java)
|
* [Area](https://github.com/TheAlgorithms/Java/blob/master/Maths/Area.java)
|
||||||
* [Average](https://github.com/TheAlgorithms/Java/blob/master/Maths/Average.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)
|
* [GCDRecursion](https://github.com/TheAlgorithms/Java/blob/master/Maths/GCDRecursion.java)
|
||||||
* [LucasSeries](https://github.com/TheAlgorithms/Java/blob/master/Maths/LucasSeries.java)
|
* [LucasSeries](https://github.com/TheAlgorithms/Java/blob/master/Maths/LucasSeries.java)
|
||||||
* [MaxValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/MaxValue.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)
|
* [MinValue](https://github.com/TheAlgorithms/Java/blob/master/Maths/MinValue.java)
|
||||||
* [Mode](https://github.com/TheAlgorithms/Java/blob/master/Maths/Mode.java)
|
* [Mode](https://github.com/TheAlgorithms/Java/blob/master/Maths/Mode.java)
|
||||||
* [NumberOfDigits](https://github.com/TheAlgorithms/Java/blob/master/Maths/NumberOfDigits.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