Дано натуральное n. Вычислить значение суммы.(с помощью циклов FOR, WHILE) C#
язык c#

Приложения:

restIess: язык программирования?
genezex: c#
genezex: Можно и на с++, смогу перевести в c# код
Аноним: что в данном случае n? число до которого идет увеличение знаменателя в квадрате? тоесть если n = 3 то будет умножение того что на фото на еще (1 + 1/3^2) ?
genezex: да
Аноним: string NString;
Console.WriteLine("Введите n .");
NString = Console.ReadLine();

if(int.TryParse(NString, out int n) && n > 0 && n <= 1000)
{
double hqd, result = 1;

for (double i = 1; i <= n; i++)
{
hqd = 1 + ( 1 / (i * i) );

result *= hqd;
}

Console.WriteLine("Результат: {0:#.##} .", result);
Console.ReadLine();
}

else
{
Console.WriteLine("Введите корректное значение n .");
Console.ReadLine();
return;
}
genezex: Да, у тебя правильнее ответ

Ответы

Ответ дал: settom
1

Ответ:

using System;

namespace ConsoleApp

{

   class Program

   {

       static void Main(string[] args)

       {

           Console.Write("Enter N = ");

           int n = int.Parse(Console.ReadLine());

           double Result = 1;

           int i;

           for (i = 0; i < n; i++) Result *= 1.0 + 1.0 / Math.Pow((double)(i+1), 2);

           Console.WriteLine("For cycle result = " + Result.ToString());

           i = 0;

           Result = 1;

           while (i < n) {

               Result *= 1.0 + 1.0 / Math.Pow((double)(i+1), 2);

               i++;

           }

           Console.WriteLine("While cycle result = " + Result.ToString());

           Console.ReadLine();

       }

   }

}


settom: нестрогое будет в случае если for (i = 1; i <= n; i++)
settom: и да, у меня второй тогда недочёт
settom: Должно быть
Result *= 1.0 + 1.0 / Math.Pow((double)(i+1), 2.0);
genezex: не, вот код, который я слепил из твоего:
using System;
namespace ConsoleApp
{
class cycle
{
static void Main()
{
Console.Write("Напишите значение переменной n: ");
int n = int.Parse(Console.ReadLine());
double Result = 1;
int i;
for (i = 1; i <= n; i++) Result *= 1.0 + 1.0 / Math.Pow(i, 2.0);
Console.WriteLine("Результат цикла for: {0}", Result);
i = 1;
Result = 1;
while (i <= n)
{
Result *= 1.0 + 1.0 / Math.Pow((double)i, 2.0);
i++;
}
Console.WriteLine("Результат цикла while: {0}", Result);
}
}
}
genezex: и он дает те результаты, которые нужны
genezex: https://imgur.com/a/jaa0P97
genezex: https://imgur.com/LAhrGit
genezex: https://imgur.com/7gjeIiR а вот результат с i = 0 и i < n
settom: Всё правильно, я как раз про это выше и написал
settom: остаётся только в самом ответе поправить
Вас заинтересует