import javax.swing.*; import java.math.*; public class fakultaeten { public static void fakultaetFor(int n){ BigInteger erg = new BigInteger("1"); if(n==0){ return; } else{ for (int i=1;i<=n;i++){ Integer x = new Integer(i); erg = erg.multiply(new BigInteger(x.toString())); } } } public static int fakultaetRekursiv (int n){ if (n==0){ return 1; } else{ return n*fakultaetRekursiv(n-1); } } public static void main(String[] args) { int zahl1 = 12020; int zahl2 = 12040; for (int i=zahl1;i<=zahl2;i++){ long zeit1=System.currentTimeMillis(); fakultaetFor(i); System.out.println("Die Fakultaet von "+i+" = ganz schön viel (Berechnet mit: For-Schleife)"); long zeit2=System.currentTimeMillis(); System.out.println(" Zeit: "+(zeit2-zeit1)+" Millisekunden"); zeit1=System.currentTimeMillis(); System.out.println("Die Fakultaet von "+i+" = ganz schön viel (Berechnet mit: Rekursion)"); zeit2=System.currentTimeMillis(); System.out.println(" Zeit: "+(zeit2-zeit1)+" Millisekunden"); System.out.println(); } } }