// a, b, c, d are HP if 1/a, 1/b, 1/c, 1/d are AP -> 1/a, 1/(a+diff), 1/(a+2*diff)...
function isHarmonicProgression(arr: number[]) {
const size: number = arr.length;
if (size === 1) return 1;
const difference: number = (1.0 / arr[1]) - (1.0 / arr[0]);
for (let i: number = 2; i < size; i++) {
if ((1.0 / arr[i]) - (1.0 / arr[i - 1]) !== difference) {
return 0;
}
}
return 1;
}
const arr: number[] = [1.0 / 5, 1.0 / 10, 1.0 / 15, 1.0 / 20, 1.0 / 25, 1.0 / 30];
console.log(isHarmonicProgression(arr) === 1 ? "Yes" : "No");
/*
run:
"Yes"
*/