что-то не так с моей реализацией функции? - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно написать функцию, которая будет принимать пользовательский ввод и выполнять следующую прилагаемую формулу, однако я получаю неправильный вывод и не могу понять, что является логической ошибкой в ​​моем коде

Вот мой код:

#include <iostream>
using namespace std;
int functX(int x) {
  int fx = 1;

  for (int i = 1; i <= 15; i++) {
    fx *= (x + i);
  }

  return fx;
}

int main() {
  int n;
  cout << " Enter the value you want to sum" << endl;
  cin >> n;

  cout << functX(n) << endl;

  system("Pause");
  return 0;
}

enter image description here

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Вместо

fx *= (x + i);

напишите

fx += (x * i);

, так как вы хотите добавить продукты, а не умножать суммы.

Также ваше форматирование странное и, пожалуйста,прочитайте рекомендации о том, как правильно задать вопрос.

0 голосов
/ 14 ноября 2018

Функция f, кажется, реализована неправильно;Вы, кажется, обменялись сложением и умножением.Правильная реализация может выглядеть следующим образом.

int functX(int x)
{
    int fx = 0;
    for (int i = 1; i <= 15; i++)
    {
        fx += (i * x);
    }
    return fx;
}
...