y를 해결하려고합니다. p 조합을 선택하십시오. 저는 초보자 인 Javascript입니다. 이것은 X * (X-1) * (X-2) ... * 1.Factorials/Combinations yield NaN 때가 안되는 경우
function factorial(z)
{
var product = z;
if (z == 0)
{
return 1;
}
else
{
for (var m = 1; m < z; m++)
{
product = m * product;
return product;
}
}
}
그때가 이렇게 inteded 하였다
I는 팩토리얼 함수의 정의를 생산 함수는 계승 함수를 사용합니다.
function placeBoxes()
{
var ids = 0;
for (var y = 0; y < (numOfRows-1); y++)
{
for (var p = 0; p < (y+1); p++, ids++)
{
x = document.createElement('div');
x.className = "box";
x.id = ids;
x.innerHTML = (factorial(y))/((factorial(y-p))*(factorial(p)));
document.getElementById('holdsBoxes').appendChild(x);
}
}
}
조합을 선택해야합니다. 실험 목적을 위해 numOfRows는 실제로 5와 30 사이입니다. 0C0 1C0 1C1 2C0 2C1 2C2 등 ... 이것은 1, 1, 1, 2, 1 등등에 해당합니다 ...
누구든지 내가 잘못한 것을 알고 있습니까? 두 번째, 세 번째, 다섯 번째, 여덟 번째, 아홉 번째 및 다른 많은 값 대신 NaN을 얻습니다.
편집 : 모두에게 감사합니다! 문제가 해결되었습니다. 계승 함수가 엉망이되었습니다.
'* ='은 (는) 잘못된 JavaScript입니다. – Raynos
죄송합니다 - 이제 해결되었으므로 수정되었습니다. – appi2012
또한 계승을위한 m * product의 이전 방법도 잘 작동합니다. 이는 단지 대안 일뿐입니다. 다른 사람들도 지적한 바와 같이, 오류는 for 루프 내부에 반환 된 것입니다. – appi2012