Для заданного натурального числа k и действительного x подсчитать следующее выражение:
Хотелось бы узнать все ли тут правильно, если нет то что именно тут не правильно
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите значение n:");
byte n = byte.Parse(Console.ReadLine());
Console.Write("Введите значение x:");
double x = double.Parse(Console.ReadLine());
double b=1,p=1;
for (byte i = 1; i <=n;++i )
{
b *= x;
p=(1+(Math.Pow(x,2*n+1))/(n*(n+1)));
}
Console.WriteLine("p={0:f2}",p);
Console.ReadKey();
}
}
}
Так по формуле начальное значение n должно быть равно единице, а не произвольное на усмотрение пользователя.
Вместо n количество итераций задается значением k.
P. P. S.
Могу ошибаться, но скорей всего должно быть как то так:
{
Console.WriteLine("Количество итераций:");
int k = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите x:");
double x = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите множитель:");
double b = Convert.ToDouble(Console.ReadLine());
double p;
for (int i = 0; i < k; ++i)
{
p = (1 + (Math.Pow(x, 2 * n + 1)) / (n * (n + 1)));
b = b * p;
n += n;
}
Console.WriteLine("b={0:f2}", b);
Console.ReadKey();
}