Архив блога

воскресенье, 30 января 2011 г.

Задача 141.

Напишите программу, которая вычисляет число "Пи" с заданной пользователем точностью. Для вычисления значения числа "Пи" воспользуйтесь тем, что значение частичной суммы ряда 1-1/3+1/5-1/7+1/9-... при суммировании достаточно большого количества членов приближается к значению Пи/4.

/*
    Программа вычисляет число "Пи" с заданной точностью.
*/

#include "locale.h"
#include "curses.h"
#include "stdio.h"

main()
{
    float p;    // вычисляемое значение "Пи"
    float t;    // точность вычисления
    int n;    // номер члена ряда
    float el;    // значение члена ряда
    char *log;
   
    log = setlocale(LC_CTYPE,"ru_RU.UTF-8");
    initscr();
   
    p  = 0;
    n  = 1;
    el = 1; // начальное значение
   
    printw("Задайте точность вычисления ПИ -> ");
    scanw("%f", &t);
    printw("Вычисление ПИ с точностью  %f\n", t);
   
    while(el >= t)
    {
    el = (float) 1 / (2*n - 1);
    if((n % 2) == 0)
        p -= el;
        else p += el;
    n++;
    }
   
    p = p * 4;
    printw("Значение Пи с точностью %f равно %f\n", t, p);
    printw("Просуммировано %i членов ряда.\n", n);
   
    getch();
    endwin();
    return 0;
}

Комментариев нет:

Отправить комментарий