Γλώσσες προγραμματισμού

Γλώσσα μηχανής

89 D9 
B8 01 00 
83 F9 00 
74 05 
F7 E1 
49 
EB F6

Συμβολική γλώσσα

; Παραγοντικό του BX στο AX
        MOV  CXBX             ; Μετρητής στο CX
        MOV  AX1              ; Αρχική τιμή 1
LOOP:   CMP  CX0              ; Τέλος;
        JZ   DONE               ; Ναι, έξοδος
        MUL  CX                 ; Όχι, πολλαπλασίασε ΑΧ με CX
        DEC  CX                 ; Επόμενη τιμή του CX
        JMP  LOOP               ; Πίσω στο βρόχο
DONE:

Fortran 77

C Return factorial of N
C
      FUNCTION IFACTORIAL(N)
      INTEGER N
      INTEGER IFACTORIAL
      INTEGER IRESULT, I

      IRESULT = 1
      DO I = 1, N
        IRESULT = IRESULT * I
      END DO
      IFACTORIAL = IRESULT

      END

Fortran 95

! Return factorial of n
function factorial(n) result (nfac)
        integerintent(in) :: n
        integer :: factorial
        integer :: i

        nfac = 1
        do i = 1, n
                nfac = nfac * i
        end do
end function factorial

C

/* Παραγοντικό */
int
factorial(int n)
{
        int result;
        int count;

        count = n;
        result = 1;
        while (count > 0) {
                result = result * count;
                count = count - 1;
        }
        return (result);
}

/* Παραγοντικό (με λιγότερες εντολές) */
int
factorial(int n)
{
        int result = 1;

        for (; n; n--)
                result *= n;
        return (result);
}

Prolog

factorial(0, 1).

% To N_Factorial είναι ισοδύναμο με Ν!
factorial(N, N_Factorial) :-
        N > 0,
        M is N - 1,
        factorial(M, M_Factorial),
        N_Factorial is M_Factorial * N.

Lisp

;; Επιστρέφει το παραγοντικό του n
(define (factorial n)
  (if (= n 1)
    1
    (* n (factorial (- n 1)))))

Basic

500 REM Return factorial of N in variable FACT
510 FACT = 1
520 FOR I = 1 TO N
530 FACT = FACT * I
540 NEXT I
550 RETURN

Visual Basic

' Παραγοντικό του Ν
FUNCTION Factorial(N AS INTEGER) AS INTEGER
        DIM Count AS INTEGER
        DIM Result AS INTEGER

        Count = N
        Result = 1
        WHILE Count > 0
                Result = Result * Count
                Count = Count - 1
        WEND

END FUNCTION

Pascal

(* Παραγοντικό του Ν *)
function factorial(N : Integer) : Integer;
var
  Count, Result : Integer;
begin
     Count := N;
     Result := 1;
     While Count > 0 Do
     begin
           Result := Result * Count;
           Count := Count - 1
     end;
     Factorial := Result
end (* Factorial *);

Java

// Υπολογισμός ν παραγοντικού
public int παραγοντικό(int ν) {
        int αποτέλεσμα;
        int μετρητής;

        μετρητής = ν;
        αποτέλεσμα = 1;
        while (μετρητής > 0) {
                αποτέλεσμα = αποτέλεσμα * μετρητής;
                μετρητής = μετρητής - 1;
        }
        return (αποτέλεσμα);
}