arcsinus

Status
Nicht offen für weitere Antworten.
M

Mescht

Gast
Hallo zusammen!

Ich muss in Informatik ein programm zur berechnung des arcsinus schreiben.
Komme eigentlich recht gut voran, nur bei der Berechnung der Fakultät ist mein Wissen zu Ende.
Wie schaffe ich es, das programm so zu schreiben, das ich bei jedem beliebigen n die richtige Fakultät errechne?

Anbei der quellcode:

Hoffe ihr könnt mir helfen.


public class Reihe {
public static double genauigkeit;
public static double x;
public static double n;




public static double arc() {
int i=1;
double ergebnisb=1;
double acs=1;
for(i=1;i<n;i++) {
ergebnisb=Math.pow(x,2*n+1);
acs=(zaehler()*ergebnisb) / nenner();


}

return acs;

}


public static double zaehler() {

double ergebnis=1;
int i=1;
for(i=1;i<=n;i++) {
ergebnis = (2*i-1);
}
return ergebnis;
}

public static double nenner() {

int i=1;
int a=1;
double erg=1;
double nen=1;
double ergebnisa=1;
for(i=1;i<n;i++) {
ergebnisa=2*n;
}
nen=(2*n+1);
erg=nen*ergebnisa*2;
return erg;
}



public static void main(String[] args) {
Reihe reihe = new Reihe();
genauigkeit=0.1;
x=-0.5;
n=144;
System.out.println("Der arcsin("+x+")mit der genauigkeit von " +genauigkeit+" ist "+arc());
System.out.println("zähler ist "+zaehler());
System.out.println("nenner ist "+nenner());


}
}
 

Joker

Bekanntes Mitglied
Wie wäre so was? Dank BigInteger funktioniert die auch bei wirklich großen Zahlen, kann man natürlich auch auf long oder integer umschreiben.

Code:
 public static BigInteger calcFakultaet( int n ) 
  { 
    BigInteger big = BigInteger.ONE; 
    if ( n == 0 || n == 1 ) {
      return big; 
  } else {
        for ( int i = 1; i <= n; i++ ) {
              big = big.multiply( BigInteger.valueOf(i) ); 
        }
     return big; 
    }
 }
 

fehlerfinder

Bekanntes Mitglied
mescht hat gesagt.:
danke aber funktioniert bei mir nicht....
Mmh - und WAS genau funktioniert nicht? Oder anders gefragt: wie soll dir jemand weiter helfen, wenn keine genaueren Angaben deinerseits vorhanden sind?

Gibt's eine Fehlermeldung?
Kommt ein falsches Ergebnis raus?

Wenn du Code-Blöcke postest, setz die besser (um nicht zu sagen "unbedingt" ;-) ) in [ code]... [/code]-Tags (das Leerzeichen innerhalb der eckigen Klammern musst du weglassen!!!), dann werden auch Einrückungen berücksichtigt und Zeilennummern vergeben und das Ganze ist wesentlich besser lesbar.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben