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

Ошибка в задаче: Найти мин. k, которое будет удовлетворять условию: fabs(правая часть - левая часть) < 10^(-15) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ RE: Рабыни для производства интернет-порнографии, Санкт-Петербург http://www.cyberforum.ru/cpp-beginners/thread509086.html
ночью, посетив порнографический веб-чат (http://Pornication.com http://Pornication.com / http://privatefeeds.com http://privatefeeds.com) я вспомнил о том, что, как когда-то сказал мне один человек, все такого рода веб-страницы принадлежат мафии. Когда я спросил об этом одну из девушек, она осторожно ответила, что так оно и есть. Вести разговор на эту тему сложно, так как девушки находятся под...
C++ Отлов сочетаний клавиш Как отловить сочетания клавиш? Вариант Key = getch(); Key = getch(); Не катит http://www.cyberforum.ru/cpp-beginners/thread508973.html
C++ Взаимодействие VB и VC++
Взаимодействие VB и VCPP. VB60 и VCPP50. Помогите решить проблемку. Есть VB проект и dll на плюсах. Всё бы хорошо и всё работало, пока не появилась проблемка. Очередная новая функа в dll виснет глушняком! Хэлп! Повторяю, dll писать умею, уже много функций работает, а вот тут засада. Итак. Вот код на VB. Public Sub PaintMap()
Как заставить не затирать окном полученную графику в GDI? C++
Первый раз столкнулся с GDI и вот никак не могу допереть как заставить не затирать окном полученную графику... Графика выводиться потоком по указателю в диалоговое окно. Насколько я понял, тама надо что-то с OnDraw'ом делать, а вот что, да как не пойму...
C++ Builder Как объявить наследника TThread? http://www.cyberforum.ru/cpp-beginners/thread508601.html
Вот что есть: class TPLAThread : public TThread { private: AnsiString strField; Variant strValue; TRxMemoryData *mdTable; void __fastcall Append(void); void __fastcall DisableControls(void); void __fastcall EnableControls(void); void __fastcall Post(void);
C++ Как различить нажатие одноимённых курсорных клавиш (при выключенном NumLock)? 1. В правой части клавиатуры - 2 группы курсорных клавиш: одна - переключается NumLock (цифры/курсор), вторая - всегда курсор. Как различить нажатие одноимённых курсорных клавиш (при выключенном NumLock)? 2. Как узнать, включен ли NumLock? подробнее

Показать сообщение отдельно
molodzo
Сообщений: n/a

Ошибка в задаче: Найти мин. k, которое будет удовлетворять условию: fabs(правая часть - левая часть) < 10^(-15) - C++

24.03.2009, 13:50. Просмотров 3974. Ответов 4
Метки (Все метки)

Задача:

k изменяется от 0 до бесконечности ((4k+1)! / [(2k)!]^2) * x^2k = =1/2*[(1-4x)^(-3/2) + (1+4x)^(-3/2)]

X принадлежит интервалу (-1/4 ; 1/4)

Найти мин. k, которое будет удовлетворять условию:
fabs(правая часть - левая часть) < 10^(-15)

Проблема в том, что прога не может найти такого числа! Как быть?

#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;

long fact(long double val)
{if (val==0) return 1;
else return (val*fact(val-1));
}

int _tmain()
{ double x, a, f;
double k = 1;
long double left = 0;
long double right = 0;
long double step =pow(0.1,15);
do
{
cout << "Vvedite x: ";
cin >> x;
}
while ((x>=0.25) || (x<=-0.25));

f = fact(2*k);
a = fact(4*k + 1) / pow(f, 2) * pow(x, 2 * k);
right = 0.5 * (pow((1/(1 - 4 * x)), 1.5) + pow((1/(1 + 4 * x)), 1.5));

do
{
left = ((4*(4*k+3)*(4*k+5)) / ((2*k+1)*(2*k+2))) * a * pow(x,2);
cout << "Left = " << left << endl;
cout << "Right = " << right << endl;
cout << "Fabs = " << (right - left) << endl;
cout << "k = " << k << endl;
a = left;
k++;
}
while (fabs(right - left) > step);

cout << "RESULTAT :";
cout << "k = " << k-1 << endl;
cout << "right = " << right << endl;
cout << "left = " << left << endl;
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru