
今週末(26日)が第 2 回レポートの締切です。 遅れないようにしてください。
int fact(int n) {
int i, ret=1;
for (i=1; i<=n; i++) {
ret*=i;
}
return ret;
}
int foo(int n) {
int i;
double ret=0;
for (i=0; i<=n; i++) {
ret += 1.0/fact(i);
}
return ret;
}
という解答は間違いではないですが、foo(n)という式の呼出しでは、
ret*=iという掛け算が n*(n+1)/2回行なわれることになります。
これを n回程度で済ますことができないでしょうか?