私はRに非常に慣れていないので、遊んでいます。与えられた 2 つの辺を持つ可能な Heron 三角形の数を計算するコードを書きました。私たちの多くが知っているように、ヘロンの三角形は面積だけでなく、整数としてすべての辺を持ちます。以下のコードでは、a & b は整数です。
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
をプラグインすると、 として答えが得られます。コードを見ると、for ループと ifelse 部分に何らかの問題があることが明らかです。しかし、私はそれを理解することができないので、この質問です。前もって感謝します。a=5
b=5
0