added hcf finding algorithm (#104)

* added hcf finding algorith

* Update and rename find_hcf.js to FindHcf.js

Co-authored-by: vinayak <itssvinayak@gmail.com>
This commit is contained in:
Novojit Saha
2020-05-06 18:27:22 +06:00
committed by GitHub
parent ed4b295a43
commit d914bd9041

30
maths/FindHcf.js Normal file
View File

@ -0,0 +1,30 @@
/*
author: redfly1
More about HCF:
https://en.wikipedia.org/wiki/Greatest_common_divisor
*/
function findHCF (x, y) {
// If the input numbers are less than 1 return an error message.
if (x < 1 || y < 1) {
return 'Please enter values greater than zero.'
}
// If the input numbers are not integers return an error message.
if (x !== Math.round(x) || y !== Math.round(y)) {
return 'Please enter whole numbers.'
}
// Now apply Euclid's algorithm to the two numbers.
while (Math.max(x, y) % Math.min(x, y) !== 0) {
if (x > y) {
x %= y
} else {
y %= x
}
}
// When the while loop finishes the minimum of x and y is the HCF.
return Math.min(x, y)
}
console.log(findHCF(27, 36))