실수의 역 계승을 계산할 수있는 방법이 있습니까? 예를 들어 - 내가 값 1.32934039이있는 경우 다시 1.5를 얻기 위해 어떤 방법이 있나요 1.5 ! = 1.32934039? 나는 http://www.wolframalpha.com/input/?i=Gamma^(-1)[1.32934039] 을하려하지만 그건 실패입니다.
#include <stdio.h>
long factorial(int num)
{
int counter;
int fact = 1;
for (counter = num; counter > 0; counter--) fact *= counter;
return fact;
}
float combinations(int n, i
D 함수가 unlambda에서 작동하는 방법에 대해 자세히 설명해야한다고 생각합니다. 지금은 Y 결합 자로 함수 (팩토리얼)를 만들려고 노력하고 있지만 항상 무한 루프가 발생합니다. 또는 통역사에 따라 세그 폴트. 나는 D가 내가 여기서 사용하기를 원하는 것이라고 확신한다. 나는 이것을 시도했다 : ``d```sii``sii`.xi
그리고 그것은 같은
이 계승을 계산하는 함수의 다음 실행을 고려 (define fac-tail-2
(lambda (n)
(let ((fac-tail-helper-2
(lambda (n ac)
(if (= 0 n)
ac
(fac-tail-helper-2 (- n 1) (* n ac))))))
Functional Programming, Haskell 및 Continuation Passing Style을 하나의 큰 BLOB로 이해하려고 노력했으며 구조화 된/OOP 배경으로 인해 어려움을 겪고 있습니다. 는 this에 따르면 나는 다음은 CPS-스타일 계승의 정확한 정의해야 이해 : factorial n = fact n id where id = \x
주어진베이스에 대한 순열의 총 수가 factorial ...이라는 것을 알고 있습니다. 따라서 "abc"의 순열의 수는 3! 또는 3x2x1 또는 6입니다. 분명히 내 문구를 올바르게 구사하는 데 용어가 확실하지 않지만 X 문자로 표현의 "길이"가 증가하기 전에 가장 높은 번호의 순열을 찾고 싶습니다. 예를 들어 Base 62 'alphabet'을 사용하면
숫자의 계승을 연구하고 싶습니다. 내 계승 규칙은 Prolog 파일에 있으며 C++ 파일에 연결하고 있습니다. 누군가가 Prolog와 인터페이싱 C++의 문제점을 말해 줄 수 있습니까? my factorial.pl file:
factorial(1, 1):-
!.
factorial(X, Fac):-
X > 1,
Y is X -