再帰をみっちり仕込んで下さい!
■ このスレッドは過去ログ倉庫に格納されています
0052デフォルトの名無しさん
NGNGa(n)
{
int i, r;
if (n<1) return 0;
if (n<2) return 1;
for (r=1, i=1; i<n; i++) {
r += a(i) + a(n-i);
}
return r;
}
と解釈. (a, n を func, a と読み換えて下さい.) あとは
>>36 と同じ方法で
a_0 = 0
a_1 = 1
漸化式
a_n = 1 + 2(a_1 + a_2 + ... + a_{n-2} + a_{n-1})
= 1 + 2(a_1 + a_2 + ... + a_{n-2}) + 2*a_{n-1}
= a_{n-1} + 2*a_{n-1}
= 3*a_{n-1}
一般項
a_n = 0 (n=0)
3^{n-1} (n>0)
よって
a_23 = 3^22 = 31381059609
最後の計算は計算機を使わないと間違えるかも.
ところで, 27 の使っている言語では Integer は
31381059609 という値を保持できると仮定して良いの?
それとも...
■ このスレッドは過去ログ倉庫に格納されています