Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Составить алгоритм решения задачи c# / 5 сообщений из 5, страница 1 из 1
05.12.2014, 20:53
    #38826669
ruslan11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить алгоритм решения задачи c#
Здравствуйте, только изучаю c#, столкнулся с задачей, не могу ее реализовать
y = (x*1)/1! + (x*2)/2! +...+ (x*n)/n!
Вот набросок
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
class Program
{
    static void Main(string[] args)
    {
        FCalc fcalc = new FCalc();
        int n = 3;
        int x = 10;
        double result = 1;

        for (int i = 1; i <= n; i++)
        {
            result = Convert.ToDouble((x * i) / fcalc.Fact(n));
        }
        Console.WriteLine(result);
    }
}
   
    
class FCalc
{
     public int Fact(int n)
     {
         int resF = 1;
         for (int i = 1; i <= n; i++)
         {
             resF = resF * i;
         }
         return resF;
     }
}
...
Рейтинг: 0 / 0
05.12.2014, 21:30
    #38826695
ruslan11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить алгоритм решения задачи c#
Дошло что нужно поставить + result )
...
Рейтинг: 0 / 0
11.12.2014, 15:17
    #38831492
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить алгоритм решения задачи c#
ruslan11,

вы не хотите поступить по другому.

Сначала вычислить (x*1)/1!

Потому из него вычислить (x*2)/2! и так далее.

Вместо того, чтобы каждый раз просчитывать полный факториал.
...
Рейтинг: 0 / 0
11.12.2014, 22:59
    #38831981
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить алгоритм решения задачи c#
ruslan11, y = (x*1)/1! + (x*2)/2! +...+ (x*n)/n! эквивалентно y = x*(1/0! + 1/1! +...+ 1/(n -1)!). Еще немного школьной математики и избавляемся от вложенных циклов.
В вашем коде две ошибки - result += x * i / Fact(i) ... да FCalc не в тему... ну или хоть Fact объявите как static... тогда уберется FCalc fcalc = new FCalc(); и result += x * i / FCalc.Fact(i);

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
// не проверял
float x = 10.0f;
int n = 3;

float mult = 1f;
float prev = 0f;

for (var i = 1; i <= n; i++)
{
   mult /= i - 1 < 2 ? 1 : i - 1;
   prev += mult;
}
Console.WriteLine(prev * x);

...
Рейтинг: 0 / 0
12.12.2014, 19:39
    #38832921
ruslan11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить алгоритм решения задачи c#
Учту, спасибо)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Составить алгоритм решения задачи c# / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]