私はRの初心者ですので、CとPythonでうまく動作するように見えますが、Rで驚くことに分解されます。 最初の1000個のフィボナッチ数のうちの1つ。ここでは、完全なコードは次のとおりです。Rの簡単なforループRの "置換の長さゼロ"の生成R
#PRRODUCT OF FIBONACCI NUMBERS
Fibonacci<-rep(0, 1000)
Fibonacci[0]<-1
Fibonacci[1]<-1
Product<-1
for (i in 2:1000)
{
Fibonacci[i]<-(Fibonacci[i-1])+(Fibonacci[i-2])
Product<-Fibonacci[i]*Product
}
Fibonacci[1000]
Product
これは、次のエラーが返されます。
Error in Fibonacci[i] <- (Fibonacci[X - 1]) + (Fibonacci[X - 2]) :
replacement has length zero
私はベクトルの配列(おそらくI-2の異なる要素で動作誤解していると考えに傾いています説明が間違っています)、私はそれを修正するのに役立った過去1時間半の間に何も見つかりませんでした。 したがって、問題の原因に関するすべての洞察が最も高く評価されます。
ありがとうございます。
を簡単なデバッグ技術は、ループの先頭で ''プリント(i)を挿入することです。それはエラーの発生場所を教えてくれたので、問題の原因を突き止めることができました。 –
私は同様の問題を抱えていました。あなたのアドバイスを受けました。エラーが発生しているので、動作しません。したがって、print()は起こりません。 – Benzle