1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Fakultät in c programmieren

  • Smartie
  • 9. Juli 2008 um 11:02
  • Unerledigt
  • Smartie
    3
    Smartie
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 9. Juli 2008 um 11:02
    • #1

    Hallo Leute, ich bräuchte mal wieder eure Hilfe.

    Kann mir vielleicht jemand sagen, wie man eine Fakultät einer Zahl in C programmiert?

    Die Aufgabe sieht folgerndermaßen aus, und es geht mir dabei um den Nenner:

    sin (x) = x - x^3 + x^5 + x^7
    ---- ---- ---- ...
    3! 5! 7!

    MfG Smartie

  • sauzachn
    17
    sauzachn
    Mitglied
    Reaktionen
    51
    Punkte
    3.101
    Beiträge
    606
    • 9. Juli 2008 um 11:08
    • #2

    Geht sowohl rekursiv als auch iterativ.

    Dipper dipper dii dipper dii dipper dii duuu

  • Smartie
    3
    Smartie
    Mitglied
    Punkte
    70
    Beiträge
    10
    • 9. Juli 2008 um 11:14
    • #3

    Vielen Dank, das hat mich schonmal ungemein weitergeholfen...

  • fytzi
    6
    fytzi
    Mitglied
    Reaktionen
    9
    Punkte
    329
    Beiträge
    61
    • 9. Juli 2008 um 11:34
    • #4

    So wäre es rekursiv:

    int fak (int val) {
    if (val > 1) {
    return fak(val-1) * val;
    }
    }

    "I would love to change the world, but they won't give me the source code "

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 9. Juli 2008 um 11:47
    • #5

    und so iterativ:

    Code
    int erg=1;
    int zahl=5;
    int i;
    
    
    for(i = 2; i <= zahl; i++)
       erg *= i;

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    Punkte
    11.122
    Beiträge
    2.208
    • 9. Juli 2008 um 13:23
    • #6
    Zitat von sauzachn

    Geht sowohl rekursiv als auch iterativ.

    Parallelisiert gehts auch, siehe "reduce"-Beispiel von Nvidias CUDA.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 9. Juli 2008 um 14:45
    • #7

    Aber rechne nicht für jedes Element der Taylorreihe die komplette Fakultät...

  • hal
    32
    hal
    Mitglied
    Reaktionen
    52
    Punkte
    11.122
    Beiträge
    2.208
    • 9. Juli 2008 um 14:48
    • #8

    Premature optimization!

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 9. Juli 2008 um 15:53
    • #9
    Zitat von hal

    Premature optimization!

    Naja, die Taylorreihe is' eine kleine Schleife. Das zerstört doch nicht den Code, wenn man sich die ganzen Fakultätsaufrufe spart... hängt aber natürlich auch von der Anwendung ab.

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 9. Juli 2008 um 18:53
    • #10

    Wenn eh keine Variablen im Nenner vorkommen, kannst dir den Zirkus auch sparen, und einfach das Ergebnis hinschreiben.:thumb:

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • viper
    4
    viper
    Mitglied
    Reaktionen
    3
    Punkte
    103
    Beiträge
    20
    • 9. Juli 2008 um 20:08
    • #11

    So wäre es obskur:

    Code
    unsigned n=<zahl>, f=1;
    while(n&&(f*=n--));

    100% trivial :thumb:

  • Paulchen
    1
    Paulchen
    Gast
    • 9. Juli 2008 um 21:01
    • #12
    Code
    >++++++++++>>>+>+[>>>+[-[<<<<<[+<<<<<]>>[[-]>[<<+>+>-]<[>+<-]<[>+<-[>+<-[>
    +<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>>>>+>+<<<<<<-[>+<-]]]]]]]]]]]>[<+>-
    ]+>>>>>]<<<<<[<<<<<]>>>>>>>[>>>>>]++[-<<<<<]>>>>>>-]+>>>>>]<[>++<-]<<<<[<[
    >+<-]<<<<]>>[->[-]++++++[<++++++++>-]>>>>]<<<<<[<[>+>+<<-]>.<<<<<]>.>>>>]
  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 9. Juli 2008 um 22:47
    • #13

    Was sollte eigentlich auf dem Screenshot drauf sein? Ich hab mein ganzes C: abgesucht, aber nix gefunden.:wein:

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 10. Juli 2008 um 11:58
    • #14

    Paulchen, seit wann ist brainfuck C?
    C ist aber manchmal brainfuck.
    whitespace darf nicht fehlen!

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 10. Juli 2008 um 21:12
    • #15

    Geil, das muss ich mir ausdrucken!:shinner:

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • pernhard
    11
    pernhard
    Mitglied
    Reaktionen
    14
    Punkte
    1.269
    Beiträge
    244
    • 10. Juli 2008 um 22:03
    • #16
    Zitat von Kampi

    Paulchen, seit wann ist brainfuck C?
    C ist aber manchmal brainfuck.
    whitespace darf nicht fehlen!


    wtf?

    -v bitte!

    I used to be an owl...

    881 :rock:

  • spinball
    11
    spinball
    Mitglied
    Reaktionen
    67
    Punkte
    1.192
    Beiträge
    223
    • 10. Juli 2008 um 22:16
    • #17

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 11. Juli 2008 um 00:25
    • #18
    Zitat von pernhard

    wtf?

    -v bitte!

    Paulchens loesung war in brainfuck, "meine" war in whitespace. ich hoffe das ist verbose genug.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • pernhard
    11
    pernhard
    Mitglied
    Reaktionen
    14
    Punkte
    1.269
    Beiträge
    244
    • 11. Juli 2008 um 09:03
    • #19
    Zitat von Kampi

    Paulchens loesung war in brainfuck, "meine" war in whitespace. ich hoffe das ist verbose genug.

    thx, whitespace kannte ich noch nicht.

    I used to be an owl...

    881 :rock:

  • ThomasW
    4
    ThomasW
    Mitglied
    Reaktionen
    1
    Punkte
    141
    Beiträge
    28
    • 11. Juli 2008 um 22:25
    • #20
    Code
    f(v)??<return v?v*f(v-1):1;??>

    Einmal editiert, zuletzt von ThomasW (11. Juli 2008 um 22:27)

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung