我對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