package org.nevec.rjm; /** * Harmonic numbers. * H(n) is the sum of the inverses of the integers from 1 to n. * * @since 2008-10-19 * @author Richard J. Mathar */ public class Harmonic { /** * ctor() * Does nothing. */ public Harmonic() {} /** * The Harmonic number at the index specified * * @param n * the index, non-negative. * @return the H_1=1 for n=1, H_2=3/2 for n=2 etc. * For values of n less than 1, zero is returned. */ public Rational at(final int n) { if (n < 1) { return new Rational(0, 1); } else { /* * start with 1 as the result */ Rational a = new Rational(1, 1); /* * add 1/i for i=2..n */ for (int i = 2; i <= n; i++) { a = a.add(new Rational(1, i)); } return a; } } } /* Harmonic */