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

ошибка при расчете! найти ее - C++

Восстановить пароль Регистрация
 
ugosdaryn
 Аватар для ugosdaryn
2 / 2 / 1
Регистрация: 17.12.2009
Сообщений: 77
24.09.2010, 23:43     ошибка при расчете! найти ее #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <math.h>
 
using namespace std;
int main() {
    double x;
 cin >> x;
 double sum = ((x-2)/(x-1));
     for ( int i=1; i<=64; i++){
     sum = sum * ((x-i*2)/(x-i*2));
     
     }
  cout<<sum;
  return 0;
}

входный данные для проверки

65

выходной

0.452665

Где ошибка? Прошу помочь...Заранье благодарен!
Миниатюры
ошибка при расчете! найти ее  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2010, 23:43     ошибка при расчете! найти ее
Посмотрите здесь:

Необходимо найти квадрат числа в данном числе - Есть ошибка, но не могу ее найти... C++
При передачи указателя на обьект ошибка,а при передаче ссылки на указатель нет. Почему? C++
Переполнение при расчете функции C++
При выполнении разных операций с MS VS2013, например, при закрытии, иногда появляется ошибка C++
C++ Найти количество наборов не являющихся знакочередующимися. Ошибка при вводе нуля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.09.2010, 23:51     ошибка при расчете! найти ее #2
Вот смотрите:
double sum = ((x-2)/(x-1));
т.е (x-2)/(x-1) Вы уже посчитали, смотрим дальше:
for ( int i=1; i<=64; i++){
sum = sum * ((x-i*2)/(x-i*2));
т.е. при i==1 Вы к уже полученный результат равный (x-2)/(x-1) умножаете на.......:
(x-2)/(x-2)
Ни о чем не говорит?
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
25.09.2010, 00:02     ошибка при расчете! найти ее #3
C++
1
2
for(int i=1;i<=6;i++)
 pr=pr*(x-pow(2,i))/(x-(pow(2,i)-1);
возможно так
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.09.2010, 00:07     ошибка при расчете! найти ее #4
Artishok,
возможно так
не возможно так, а так и есть, только pr присвоить до этого цикла значение 1.
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
25.09.2010, 00:08     ошибка при расчете! найти ее #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main() {
double x, p1=1.0, p2=1.0;
 
 cout<<"x = ";
 cin >> x;
 
 for ( int i=2; i<=64; i*=2)
 {p1=p1*(x-i);
  p2=p2*(x-i+1);         
 }
  cout<<"Y = "<<p1/p2<<endl;
  system("pause");
  return 0;
}
Yandex
Объявления
25.09.2010, 00:08     ошибка при расчете! найти ее
Ответ Создать тему
Опции темы

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