/* calcola la somma parziale della serie armonica * per limitare le approssimazioni numeriche e' opportuno * sommare i termini a partire dal piu' piccolo */ import java.util.Scanner; public class SerieArmonica { public static void main(String[] args) { double sommaSerie, sommaSerieInversa; int numTerm; Scanner lett = new Scanner(System.in); System.out.print("inserisci il numero di termini: "); numTerm = lett.nextInt(); sommaSerie = 0; int i=1; while(i<= numTerm) { sommaSerie = sommaSerie + ((double) 1)/i; i++; } System.out.println("la somma dei primi "+numTerm+" con i crescente e' "+sommaSerie); sommaSerieInversa = 0; i=numTerm; while(i>=1) { sommaSerieInversa = sommaSerieInversa + ((double) 1)/i; i--; } System.out.println("la somma dei primi "+numTerm+" con i decrescente e' "+sommaSerieInversa); System.out.println("la differenza tra la somma della serie e il logaritmo naturale di n e'" +(sommaSerieInversa - Math.log(numTerm))); } }