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

Найти ошибку в решений - C++

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

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

C++ Найти много решений
C++ Найти число целых решений уравнения
найти слова повторяющиеся более одного раза, не могу найти ошибку C++
C++ Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
найти ошибку(в одномерном массиве найти количество различных элементов) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
24.09.2010, 23:00     Найти ошибку в решений #2
C
1
sum = sum + (sum * (1.0/(a+i)));
ugosdaryn
 Аватар для ugosdaryn
2 / 2 / 1
Регистрация: 17.12.2009
Сообщений: 77
24.09.2010, 23:03  [ТС]     Найти ошибку в решений #3
К сожалению не так
пример
входные данные
2 1
выходной
0.666667 работает по этим данным


входной
2.1 2
выходной
0.667266 не работает. выдает 0,689439, а должен быть результат 0.667266
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
24.09.2010, 23:18     Найти ошибку в решений #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main() {
  double a, n;
  cout<<"a = "; 
  cin>>a;
  cout<<"n = ";
  cin>>n;
  double sum=1/a;
  double p=a;
  for (int i=1;i<=n;i++)
  {
    p=p*(a+i);
    sum = sum + 1.0/p;
  }  
  cout<<sum<<endl;
  system("pause");
  return 0;
}
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
24.09.2010, 23:20     Найти ошибку в решений #5
знаменатель чем-то на факториал похож

Не по теме:

опоздал чуток

alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
24.09.2010, 23:22     Найти ошибку в решений #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <math.h>
 
using namespace std;
int main() {
  double a, n;
  cin>>a;
  cin>>n;
  double sum=1.0;
  for (double i=0;i<n;++i)
  {
    sum += sum / (a+i);
  }  
  cout<<sum;
  return 0;
}
так проще, ну зависит от того каким элементом первый считать
chesser
17 / 17 / 1
Регистрация: 02.08.2010
Сообщений: 44
24.09.2010, 23:28     Найти ошибку в решений #7
Кстати, нужен в первую очередь ввод n. Чтобы потом можно было найти те значения a, при которых знаменатель будет обращаться в 0, и не допустить ввода подобного числа.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2010, 23:29     Найти ошибку в решений
Еще ссылки по теме:

C++ Найти сумму первых n-четных натуральных чисел (найти ошибку)
C++ Помогите найти ошибку: По двум сторонам и углу найти все остальное

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

Или воспользуйтесь поиском по форуму:
ugosdaryn
 Аватар для ugosdaryn
2 / 2 / 1
Регистрация: 17.12.2009
Сообщений: 77
24.09.2010, 23:29  [ТС]     Найти ошибку в решений #8
Огромное спасибо! Все работает прекрасно!
Yandex
Объявления
24.09.2010, 23:29     Найти ошибку в решений
Ответ Создать тему
Опции темы

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