как написать циклическую программу в с++
дали задание написать простую циклическую программу
задание: вычислить с точностью до 10го знака после запятой сумму 1+1/1!+1/2!+1/3!+......
единицу же можно принять как 1/0! ?
вобщем задание дали и ничего не объяснили :(
работаем в ms visual studio.
я думаю,что задание можно принять как сумма 1/n! и в программе задать переменную n
и еще,получается программу бесконечную надо делать? тогда лучще с while(true) или с помощью for? просто в последнем надо писать конечное значение а его нет о.о
надеюсь хоть на какую то помощь!))
Пиши с while. только не true...
Сделай цикл с пред- или послесловием, и в этом условии проверяй, насколько новое значение изменилось от предыдущего. Когда отличие будет меньше чем 10^(-10), тогда будет счастье.
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
double sum=1;
double eps=1E-8;
double temp;
int fact=1;
int i=1;
do
{
fact*=i;
temp=1./fact;
sum+=temp;
i++;
printf ("i=%i, fact=%i, temp=%.32f\n", i, fact, temp);
} while(abs(temp)>eps);
getchar ();
return 0;
}
кто-нибудь может объяснить каждую строчку в ней... мне нужно по мелочем ее разобрать,а то в целом понимаю но на вопросы дотошные не могу полно и корректно ответить...
заранее спасибо :3