/* 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 SerieArmonicaFor { 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; for(int i=1; i<= numTerm; i++) { sommaSerie = sommaSerie + ((double) 1)/i; } System.out.println("la somma dei primi "+numTerm+" con i crescente e' "+sommaSerie); sommaSerieInversa = 0; for(int i=numTerm; i>=1; i--) { sommaSerieInversa = sommaSerieInversa + ((double) 1)/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))); } }