我試圖通過使用R.爲什麼不在R的這個`if`語句中分配這個對象?
如果我在函數中使用cat
我能得到正確的值的列表中選擇此ProjectEuler問題努力學習R:
> n <- 1:9
> s <- 0
> ck <- function(n)
+ for(i in n)
+ if(i/3 == round(i/3) | i/5 == round(i/5)) cat(i)
> ck(n)
3569>
,但如果我嘗試分配這些對他們總結它不起作用:
> n <- 1:9
> s <- 0
> ck <- function(n)
+ for(i in n)
+ if(i/3 == round(i/3) | i/5 == round(i/5)) s <- c(s, i)
> ck(n)
> s
[1] 0
>
爲什麼不第二個函數的工作?
謝謝。
另外,爲了您自己的利益,請在您的函數中使用{},for和if語句! –
您可能還想考慮'%%'函數,它是* modulo *函數:例如,http://en.wikipedia.org/wiki/Modulo_operator'n %% 3'。 –
@Gavin Simpson - 感謝你的建議,我認爲肯定有更好的方法來做到這一點! – KennyPeanuts