我对R很新,只是在玩它。我写了一些代码来计算双方给出的可能的苍鹭三角形的数量。正如我们许多人所知道的,苍鹭三角形的所有边和整个区域都是整数。在下面给出的代码中,&b是整数。ifelse&for循环R-帮助需要一个简单的例子
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部分存在一些问题;但我无法弄清楚,所以这个问题。提前致谢。
'ABS(AB)+1:A + b-1'是不是你认为它是。序列运算符“:”优先。 – 2012-08-15 20:40:51
现在明白了。谢谢! – user156934 2012-08-15 21:07:41