저는 R에 매우 익숙합니다. 주어진 두면을 가진 가능한 헤론 삼각형의 수를 계산하는 코드를 작성했습니다. 우리 중 많은 사람들이 알고 있듯이, 헤론 삼각형은 정수면뿐만 아니라 그면을 모두 가지고 있습니다. 아래 주어진 코드에서 & b는 정수입니다.ifelse & for for loop in 간단한 예제가 필요합니다
heron <- function(a,b)
{
d = 0
for(c in abs(a-b)+1:a+b-1)
{
area <- ((1/4)*sqrt((a^2+b^2+c^2)^2-(a^4+b^4+c^4)))
d <- ifelse(area == floor(area), d+1, d)
}
return(d)
}
코드가 잘못된 값을 반환합니다. 예를 들어, heron(5,5)=2
을 입력했지만 a=5
, b=5
을 입력하면 코드는 0
으로 응답합니다. 코드를 보면, for 루프와 ifelse 부분에 문제가 있다는 것은 명백합니다. 그러나 나는 그것을 알아낼 수 없으므로이 질문을한다. 미리 감사드립니다.
'복근 (AB) +1 : A + B-1 '당신이 생각하는 것이 아니다. 시퀀스 연산자':'가 우선권을가집니다. –
이제 알겠습니다. 감사! – user156934