All pastes #25802 Raw Edit

Untitled

public text v1 · immutable
#25802 ·published 2005-10-18 02:44 UTC
rendered paste body
import java.math.BigDecimal;
import java.math.MathContext;

public class Welcome1 {
        public static BigDecimal one;
        public static MathContext mc;

        public static BigDecimal fac(long i) {
                return fac(new BigDecimal(i, mc));
        }

        public static BigDecimal fac(BigDecimal i) {
                if(1 == i.longValue()) {
                        return new BigDecimal(1, mc);
                } else {
                        return i.multiply(fac(i.subtract(one, mc)));
                }
        }

        public static BigDecimal oneoverfac(long i) {
                return one.divide(fac(i), mc);
        }

        public static BigDecimal sum(int i) {
                if (1 == i) {
                        return new BigDecimal(1, mc);
                } else {
                        return oneoverfac(i).add(sum(i-1), mc);
                }
        }

        public static void main(String args[]) {
                mc = new MathContext(5005);
                one = new BigDecimal(1, mc);
                System.out.println(sum(5000));
        }
}