русс | укр

C# - Главная
Контакты
Задайте вопрос...
Просмотр всех вопросов


Пространство имен
  ► System
  ► Microsoft


Для учеников (начинающих)
  ► Видео уроки
  ► Обучение
  ► Примеры программ
  ► Секреты в Си Шарп

Для профессионалов
  ► Обучение
  ► Примеры программ
  ► Задачки - для тебя!










Программа нахождения суммы факториалов Си Шарп

Найти сумму факториалов. К примеру нам дан факториал 6! и нам нужно найти его сумму.

Для этого нам понадобиться переменная sum, в которую мы будет суммировать все значения.

Но есть одна проблема, т.е. при 0! будет значение 1, а это нарушение математическому умножению. Поэтому в цикле, где у нас будет i = 0, мы сделаем условие, если оно равно нулю, значит наша переменная будет принимать значение sum++, в остальных ситуациях: sum = sum + factorial.

Пример программы:

using System;

namespace S4
{
     class Program
     {
          static void Main(string[] args)
          {
               int n = 6;  // количество циклов в факториале
               int sum = 0;
               int factorial = 1;   // значение факториала

               for (int i = 0; i <= n; i++) // цикл начинаем с 0, т.к. 0! равно 1 и мы будем это суммировать
               {
                    if (i == 0) sum++;
                    else
                    {
                         factorial = factorial * i;
                         sum = sum + factorial;
                    }
               }
               Console.WriteLine("Summa factoriala pri N = " + n + " = " + sum);
               Console.Read();
          }
     }
}

 

Результат работы программы:

 

Но если вам нужно найти сумму факториала в интервале, к примеру, от 4 до 8, то код программы, будет следующий:

using System;

namespace S4
{
     class Program
     {
          static void Main(string[] args)
          {
               int n = 8;  // количество циклов в факториале
               int sum = 0;
               int x = 4;   // факториал идет не от 0 или 1, а от 5
               int factorial = 1;   // значение факториала

               for (int i = x; i <= n; i++) //  цикл начинаем с 4, т.к. мы вычисляет от 4 до 8
               {
                    factorial = factorial * i;
                    sum = sum + factorial;
               }
               Console.WriteLine("Summa factoriala ot " + x + " do " + n + " = " + sum);
               Console.Read();
          }
     }
}

Результат работы программы:

Просмотров: 3326






© 2012 ci-sharp.ru При использовании материала прямая индексирующая ссылка на сайт ОБЯЗАТЕЛЬНА.
Права строго защищены нормами международного права, интеллектуальной собственности и авторского права.