rendered paste body// based on D
import java.lang.Math;
public final class partialsums
{
public static void main(String[] args)
{
double n = Integer.parseInt(args[0]) + 1, alt = 1;
double sum0=0, sum1=0, sum2=0, sum3=0, sum4=0, sum5=0, sum6=0, sum7=0, sum8=0;
for(double d = 1; d < n; d++, alt = -alt)
{
double d2 = d * d, d3 = d2 * d;
double ds = Math.sin(d), dc = Math.cos(d);
sum0 += Math.pow(2 / 3d,d - 1);
sum1 += 1 / Math.sqrt(d);
sum2 += 1 / (d * (d + 1));
// Flint Hills
sum3 += 1 / (d3 * ds * ds);
// Cookson Hills
sum4 += 1 / (d3 * dc * dc);
// Harmonic
sum5 += 1 / d;
// Riemann Zeta
sum6 += 1 / (d2);
// Alternating Harmonic
sum7 += alt / d;
// Gregory
sum8 += alt / (2 * d - 1);
}
System.out.printf("%.9f\t(2/3)^k\n", sum0);
System.out.printf("%.9f\tk^-0.5\n", sum1);
System.out.printf("%.9f\t1/k(k+1)\n", sum2);
System.out.printf("%.9f\tFlint Hills\n", sum3);
System.out.printf("%.9f\tCookson Hills\n", sum4);
System.out.printf("%.9f\tHarmonic\n", sum5);
System.out.printf("%.9f\tRiemann Zeta\n", sum6);
System.out.printf("%.9f\tAlternating Harmonic\n", sum7);
System.out.printf("%.9f\tGregory\n", sum8);
}
}