Вычислить алгебраическое выражение в 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;
        }
Другие вопросы по тегам