Вычислить алгебраическое выражение в C#
Вычислить алгебраическое выражение Z, для которого n вводится пользователем. Используйте 2 для циклов, чтобы решить проблему.
Мой код до сих пор:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n, k = 1;
double z;
float sum, p;
n = Console.Read();
for (int i = 0; i < n; i+=2)
{
sum += p;
for (int j = 0; j < n; j++)
{
p *= (3 * k + 2);
}
}
}
}
}
Я полностью стекаю в циклы for... любая помощь приветствуется.
1 ответ
Решение
- p должен быть инициализирован в 1 как 0 * X == 0
- Также i и j (почему бы не k) должны быть инициализированы в 1, как того требует ваша формула
- Вы должны суммировать продукты после того, как продукты были рассчитаны, поскольку вы добавили бы 1 к правильному результату, иначе вы не добавили бы последний рассчитанный продукт.
Поэтому приведенный ниже код должен дать правильный результат:
float sum = 0;
int n = Console.Read();
for (int i = 1; i <= n; i++)
{
float p = 1;
for (int k = 1; k <= i+2; k++)
{
p *= (3 * k + 2);
}
sum += p;
}