(これは既に答えられているようですが、私はもっと具体的なものを探しています)学校での作業のために、2 * 1のドミノタイルで長方形をタイル張りにするさまざまな方法を計算するメソッドを書く必要があります。私が見ることのできるところから、それはフィボナッチ数であろう。私はコンパイラでコンパイルされたコードを書いたが、本当に意味をなさないか、ここからどこに行くのかは分からない。これをよりうまく実装するにはどうすればいいですか?フィボナッチを使用してドミノタイルにさまざまな方法を計算する方法は?
public static int domino(int n, int m) // the method signature is what I must use according the hw instructions
{
int area = n*m; // calculating the area of the passed in rectangle
int dominoes = area/2; // calculating how many dominos will be needed to cover the area
if (dominoes<=2) { // because fib 1 equals 1 and fib 2 equals 1
return 1;
} //also the stopping point
else {return domino(dominoes-1, 0) + domino(dominoes-2, 0);}
}
私はこの宿題の効率について心配する必要はありません。
:これは0
が私のアドバイスは、余分なフィボナッチそうのような機能を使用することです等しい0で何かを掛けると面積を計算することは、常に0になりことを意味します私はあなたのユースケースを理解するのに苦労しているのでもう少しです。 – TheBakker
ユースケースはどういう意味ですか?私は、適切な再帰的な方法を記述しようとしていますが、それを正しく行う方法については固執しています。 – user1454994