Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

помогите пожалуйста решить задачку, нужно найти суму ряду z=1-1/3+1/5-1/7+1/9... с точностью 10^-6 и сравнить z с pi/4

93K
15 апреля 2014 года
staff7
1 / / 15.04.2014
помогите пожалуйста решить задачку, нужно найти суму ряду z=1-1/3+1/5-1/7+1/9... с точностью 10^-6 и сравнить z с pi/4
326
16 апреля 2014 года
sadovoya
757 / / 19.11.2005
Вычисление суммы примерно так (без оптимизаций):

Код:
#include <iostream>

using namespace std;

int main() {
   
    double z = 1.0, sign = -1.0, x = 0.0;
    for(int i = 3; ; i+=2) {
        if((x = 1.0/i, x) < 1.0e-6) break;
        z += sign*x;
        sign *= -1.0;
    }

    cout << z << endl;
 
    return 0;
}
Сравнить с четвертью пи можете и сами.

Другой вариант с учетом, что число иттераций вполне прогнозируемо:


Код:
#include <iostream>

int main() {

    const int im = 1000*1000; //миллион; 1/im = 10^-6
    double z = 1.0, sign = -1.0;
    for(int i = 3; i < im; i += 2) {
        z += sign/i;
        sign *= -1.0;
    }

    std::cout << "z = " << z << std::endl;

    const double pi = 3.14159265359; //точность превышающая нашу

    //разница с четвертью пи
    std::cout << "z - pi/4 = " << z - pi/4 << std::endl;

    return 0;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог