при выполнении программы выводит 2 (цикл проходит только 1 раз), в чем ошибка?

#include <iostream>
#include <cmath>

using namespace std;

int main() {
    double eps = 0.001;
    double d=0, n=1, sum = 0;

    do {
        d = pow(1 / 2, n) + pow(1 / 3, n);
        sum = sum + d;
        
        n++;
    } 
    while (d > eps);
    cout << "sum= " << sum;
}   

нужно найти сумму ряда с точностью до eps=0,001, общий член которого равен: (1/2)^n+(1/3)^n. При составлении программы считать что точность достигнута если d<eps.


Ответы (1 шт):

Автор решения: Cozar Ragi
#include <cmath>
#include <iostream>
using namespace std;

int main()
{
    
    int n = 1;
    double eps = 0.001;
    double d = 0, sum = 0;

    do 
    {
        d = pow(1.0 / 2.0, n) + pow(1.0 / 3.0, n);
        sum += d;
        n++;
    } 
    while (d > eps);
     
    cout << "sum = " << sum;
    return 0;
} 
→ Ссылка