今週末(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回程度で済ますことができないでしょうか?