Форум программистов, компьютерный форум CyberForum.ru

Вычисление числа пи - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.65
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
29.11.2011, 20:21     Вычисление числа пи #1
Всем доброго времени суток, подскажите как в моей программе получить более тысячи знаков после запятой при вычислении числа пи и записать их в файл? я просто не пойму какой тип переменной при этом должен быть?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
#include <math.h>
 
using namespace std;
 
int main(){
 
double pi;
 
for(double i=0; i<10; i++){
pi += (1/(pow(16,i)))*(4/((8*i)+1) - 2/((8*i)+4) - 1/((8*i)+5) - 1/((8*i)+6));
cout<<"pi= "<<pi<<endl;
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 20:21     Вычисление числа пи
Посмотрите здесь:

C++ Вычисление числа ПИ
C++ Вычисление факториала числа
C++ Вычисление числа П
Вычисление числа Пи C++
C++ Вычисление квадрата числа
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
30.11.2011, 21:33  [ТС]     Вычисление числа пи #2
Актуально
Koss
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 80
02.12.2011, 23:58  [ТС]     Вычисление числа пи #3
Цитата Сообщение от Koss Посмотреть сообщение
Всем доброго времени суток, подскажите как в моей программе получить более тысячи знаков после запятой при вычислении числа пи и записать их в файл? я просто не пойму какой тип переменной при этом должен быть?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
#include <math.h>
 
using namespace std;
 
int main(){
 
double pi;
 
for(double i=0; i<10; i++){
pi += (1/(pow(16,i)))*(4/((8*i)+1) - 2/((8*i)+4) - 1/((8*i)+5) - 1/((8*i)+6));
cout<<"pi= "<<pi<<endl;
    }
}
вверх
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.12.2011, 00:18     Вычисление числа пи #4
Цитата Сообщение от Koss Посмотреть сообщение
я просто не пойму какой тип переменной при этом должен быть?
double Вам точно не подойдет. Тут нужна длинная арифметика. Поищите про нее даже на форуме много написано. (Сразу предупреждаю, сам писать по этой теме код не буду)
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
03.12.2011, 00:21     Вычисление числа пи #5
А почему такой сложный код?

Не легче ли поделить 22 на 7?
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
03.12.2011, 00:24     Вычисление числа пи #6
"long double" попробуйте.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
03.12.2011, 00:27     Вычисление числа пи #7
Цитата Сообщение от AncinetHero Посмотреть сообщение
Не легче ли поделить 22 на 7?
наверное из-за точности. 22/7 - уже на третьей цифре после запятой дает не ту цифру...
Байт
 Аватар для Байт
14007 / 8838 / 1234
Регистрация: 24.12.2010
Сообщений: 16,017
03.12.2011, 00:39     Вычисление числа пи #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от diman94x Посмотреть сообщение
"long double" попробуйте.
Не поможет. Тут действительно нужна длинная арифметика, при чем весьма изощренная - плавающая.

Добавлено через 1 минуту
Цитата Сообщение от AncinetHero Посмотреть сообщение
Не легче ли поделить 22 на 7?
Занятно. Привет от дедушки Пифагора.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 01:24     Вычисление числа пи
Еще ссылки по теме:

Вычисление 10-го эквивалент 2-го числа C++
C++ Вычисление точности числа
Вычисление числа ПИ ( строки ) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
03.12.2011, 01:24     Вычисление числа пи #9
http://gmplib.org/
Yandex
Объявления
03.12.2011, 01:24     Вычисление числа пи
Ответ Создать тему
Опции темы

Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru