C言語(プログラミング)の問題です。
次の実行例に示すように、正の整数n をキー入力させて、1/1! + 1/2! + 1/3! … 1/n!
の計算式と計算結果を表示するプログラムを作成しなさい.
<実行例>
正の整数を入力してください:5
1/1! + 1/2! + 1/3! + 1/4! + 1/5! = 1.716667
※関数を使わないでfor文の多重ループを用いて解いてほしいです。
補足追記: ①プログラムだけではなく考え方も教えてほしいです。 ②また、出力変換は%dと%fのみの使用にしてほしいです。
よろしくお願いします。
入力: 1
解: 1.000000
入力: 0
解: 1.000000
入力: 5
解: 1.716667
入力: 300000000
解: 1.718282
#include <stdio.h>
int main(void) {
int n, i, k;
double sum = 1.0, ifac = 1.0;
printf("入力: "); scanf("%d", &n);
for (i = 2; i <= n; i++) {
ifac *= 1.0 / i;
sum += 1.0 * ifac;
}
printf("解: %f\n", sum);
return 0;
}