Факториальные Алгоритмы на различных языках

В моем случае я хотел добавить метод с пользовательским swift-объектом в качестве параметра типа, а имя, которое я дал переменной в параметре, было точно таким же, как имя класса пользовательского объекта

Проблемы были примерно такими:

func moveBlob(**blob** : blob){
    ...code
}

Часть жирным шрифтом вызывала ошибку необъявленного типа

64
задан 13 revs, 4 users 100% 21 September 2014 в 15:40
поделиться

129 ответов

Vb6:

Private Function factCalculation(ByVal Number%)
  Dim intNum%
  intNum = 1
  For i = 2 To Number
     intNum = intNum * Number
  Next i
  return intNum
End Function

Private Sub Form_Load()
 Dim FactResult% : FactResult = factCalculation(3) 'e.g
 Print FactResult
End Sub
0
ответ дан 5 revs 24 November 2019 в 15:33
поделиться

C ++ constexpr

constexpr uint64_t fact(uint32_t n)
{
    return  (n==0) ? 1:n*fact(n-1);
}
0
ответ дан NoSenseEtAl 24 November 2019 в 15:33
поделиться

В Ио :

factorial := method(n,
    if (list(0, 1) contains(n),
       1,
       n * factorial(n - 1)
    )
)
0
ответ дан James Mills 24 November 2019 в 15:33
поделиться

Язык Common LISP

я абсолютно уверен, что это могло быть большим количеством effieicnet. Это - моя первая функция шепелявости кроме "привет, мир" и вводящий в примере кода в третьей главе. Практический язык Common LISP является большим текстом. Эта функция, действительно кажется, обрабатывает большие факториалы хорошо.

(defun factorial (x)
  (if (< x 2) (return-from factorial (print 1)))
  (let ((tempx 1) (ans 1))
  (loop until (equalp x tempx) do
       (incf tempx)
       (setf ans (* tempx ans)))
  (list ans)))
0
ответ дан Phil 24 November 2019 в 15:33
поделиться

Common Lisp, так как никто еще не совершил это:

(defun factorial (n)
  (if (<= n 1)
      1 
      (* n (factorial (1- n)))))
0
ответ дан Pål GD 24 November 2019 в 15:33
поделиться

FoxPro:

function factorial
    parameters n
return iif( n>0, n*factorial(n-1), 1)
0
ответ дан Jiří Pospíšil 24 November 2019 в 15:33
поделиться

Haskell: функциональный - хвост, рекурсивный

factorial n = factorial' n 1

factorial' 0 a = a
factorial' n a = factorial' (n-1) (n*a)
0
ответ дан grom 24 November 2019 в 15:33
поделиться

PHP - 59 символов

function f($n){return array_reduce(range(1,$n),'bcmul',1);}
<час>

Улучшенная версия - 27 символов

array_product(range(1,$n));
1
ответ дан 2 revs 24 November 2019 в 15:33
поделиться

T-SQL: рекурсивный CTE

Встроенная табличная функция с использованием рекурсивного общего табличного выражения. SQL Server 2005 и выше.

CREATE FUNCTION dbo.Factorial(@n int) RETURNS TABLE
AS
RETURN
    WITH RecursiveCTE (N, Value) AS
    (
        SELECT 1, CAST(1 AS decimal(38,0))
        UNION ALL
        SELECT N+1, CAST(Value*(N+1) AS decimal(38,0))
        FROM RecursiveCTE
    )
    SELECT TOP 1 Value
    FROM RecursiveCTE
    WHERE N = @n
1
ответ дан Anthony Faull 24 November 2019 в 15:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: