このメソッドでは、私は階級だけを使用して階乗を計算することになっています。したがって、たとえば、nに対して7を入力した場合、6 * 4 * 2 = 48と期待します。コードが修正され、動作するようになっています。私は今のように1時間のように試して、私が間違っていることを知らない。ここに私のコードは次のとおりです。Javaの偶数ファクトリメソッド。私はすべてを試しましたが、それを理解することはできません
int p07EvenFactorial(int n) {
if (n % 2 == 1) {
n--;
}
int fact = 1;
for (int i = n; i > 0; i--) {
fact = fact + 2 * i;
}
return fact;
}
あなたが偶数のみを使用したい場合は、その後、 '減らすために意味がありません私は2つで1つではなく、 'fact * = i;'を使います。 – Tom
コードではない場合はどうすれば書けますか?最初に英語で問題を考え、パターン(ループ)を見つけてからコードに変換します。 – Krease
ところで、Wikipediaによれば、それは[二重階乗](https://en.wikipedia.org/wiki/Double_factorial)と呼ばれています。 – Pang