fakultät



  • hi meine lieben,

    ich habe ein kleines problem, wir haben in der uni eine nette hausaufgabe bekommen, in der wir mehrere sachen in assembler proggen sollen - schade nur, dass in der vorlesung nicht viel über assembler und die befehle gesagt wurde.

    ich hätte nun eine bitte könnte mir eine die iterative berechnung der fakultät in assembler posten - ich hoffe, dass ich dann anhand dieses beispieles die anderen sachen selber proggen kann.

    dankeschön im voraus

    simon

    [ Dieser Beitrag wurde am 24.06.2002 um 17:47 Uhr von SimonBee editiert. ]

    [ Dieser Beitrag wurde am 24.06.2002 um 17:48 Uhr von SimonBee editiert. ]



  • achso - etwas hab ich noch vergessen: das ganze muss hier irgendwie rein...

    //---------------------------------------------------------------------------
    
    #pragma hdrstop
    #include <stdio.h>
    //---------------------------------------------------------------------------
    
    #pragma argsused
    
    int fak_iter(int num);
    
    int main(int argc, char* argv[])
    {
      printf("Hello World\n");
      printf("test %d\n",fak_iter(6));
      while (getchar()==EOF);
      return 0;
    }
    
    int fak_iter(int num) {
      __asm {
    
    // hehe alle mal lachen, das ist mein kläglicher versuch...
    
        mov eax, num;
        mov ebx, num;
    1:  mul ebx;
        sub ebx, 1;
        jz, 1;
    
      }
    


  • Ist die Fakultät gleich faktorielle?

    lg, phreaking

    [ Dieser Beitrag wurde am 24.06.2002 um 18:25 Uhr von phreaking editiert. ]



  • nein, das hat nichts mit der steigenden oder fallenden faktoriellen zu tun was ich meine ist:

    4! = 4*3*2*1 = 24 (gesprochen "4 fakultät")

    1! = 1
    2! = 21 = 2
    3! = 3*2*1 = 6
    ...
    n! = n
    (n-1)(n-2)...*1

    ps: falls mir jemand wirklich helfen _will_ bitte nix allzu ausgefallenes, denn:
    a) ich muss es auch verstehen und
    b) es muss so aussehen, als ob ich es selber geproggt hab 😉

    thx

    Simon



  • Hmm.. ich dachte n! heißt auch n faktorielle, aber da hab ich mich wohl geirrt (Kann mir dann jemand erklären, was n faktorielle ist? )

    int fak(int num)
    {
        __asm
        {
            mov eax, 1;
    LABEL:
            mul num;
            dec num;
            cmp num, 1;
            ja  LABEL;
        }
    }
    

    lg, phreaking



  • du bist mein GOTT 😃 😃 😃 dein name sei gepriesen und du auf ewig von deiner liebsten geknuddelt!!!

    - danke schön -

    damit kann ich was anfangen!

    thnx

    Simon


Anmelden zum Antworten