Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 18

Написать программу, которая читает неотрицательное целое число, рассчитывает и печатает его факториал

22.06.2013, 14:58. Показов 5088. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Факториал неотрицательного целого числа n записывается как n! И определяется следующим образом N! = n*(n-1)*(n-2)*…… для n>=0;
Написать программу , которая читает неотрицательное целое число , рассчитывает и печатает его факториал.
 Комментарий модератора 
Запрещено дублировать тему в одном или нескольких разделах!
Дубль закрыт.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.06.2013, 14:58
Ответы с готовыми решениями:

Написать программу, которая читает неотрицательное целое число, рассчитывает и печатает его факториал
11. Факториал неотрицательного целого числа n записывается как n! И определяется следующим образом N! = n*(n-1)*(n-2)*…… для...

Задано неотрицательное целое число в двоичной системе счисления. Требуется перевести его в десятичную.
Задано неотрицательное целое число в двоичной системе счисления. Требуется перевести его в десятичную. Ввод В первой строке...

Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю
Задание )В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца,...

24
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
22.06.2013, 15:19
Этот вопрос был на 3 темы ниже, смотрите внимательней. Вот ответ
0
 Аватар для Бельфегор
688 / 602 / 139
Регистрация: 08.05.2009
Сообщений: 1,098
22.06.2013, 15:22
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int n = Convert.ToInt32(Console.ReadLine());
            if (n < 0)
            {
                Console.WriteLine("have to input non negative number");
            }
            else
            {
                if (n == 1)
                {
                    Console.WriteLine("P=1");
                }
                else
                {
                    int p = 1;
                    for (int i = 2; i <= n; i++)
                    {
                        p *= i;
                    }
                    Console.WriteLine("P={0}", p);
                }
            }
0
 Аватар для mrReptiloid
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
22.06.2013, 15:22
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 long f=1;
            int n;
            n = int.Parse(Console.ReadLine());
            if (!(n >= 0))
            {
                Console.WriteLine("'N' must be >= 0");
            }
            else
            {
                for (int i = 1; i != n; i++)
                {
                    f *= (n - i);
                }
                f *= n;
                Console.WriteLine(f);
            }
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
22.06.2013, 20:58
Зациклится и вылетет при n=0
0
 Аватар для mrReptiloid
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
22.06.2013, 21:06
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 long f=1;
            int n;
            n = int.Parse(Console.ReadLine());
            if (!(n >= 0))
            {
                Console.WriteLine("'N' must be >= 0");
            }
            else
            {
                for (int i = 1; i <= n-1; i++)
                {
                    f *= (n - i);
                }
                f *= n;
                Console.WriteLine(f);
            }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
22.06.2013, 22:23
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
using System;
using System.Collections.Generic;
using System.Linq;
 
 
namespace ConsoleApplication22
{
    internal class Program
    {
        private static void Main()
        {
            int i = 0;
            foreach(double d in Fac(20))
               Console.WriteLine("{0}! = {1}", ++i, d);
            Console.ReadLine();
        }
 
 
        private static IEnumerable<double> Fac(int num) //Только один цикл (за счет yield)
        {
            double currentNumber = 1;
            for (int i = 1; i <= num; i++)
                yield return currentNumber *= i;
        }
    }
}
Добавлено через 58 секунд

Не по теме:

@sniper_lunev,

C#
1
 if (!(n >= 0))
гениальная запись. В мемориз

1
Диармайд
24.06.2013, 17:24
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
 
namespace Факториал
{
    class Program
    {
        static void Main()
        {
            int N, i, n=0;
            N = int.Parse(Console.ReadLine());
            if (N <= 0) Console.WriteLine("Ошибка. N меньше или равно 0");
            else
            {
                for (i = 1; i <= N; i++) 
                    n = i * (i - 1) * (i - 2);
                    Console.WriteLine("N!(" + N + ") = " + n);
                }
 
              Console.ReadLine();
        }
    }
}
54 / 54 / 23
Регистрация: 02.09.2009
Сообщений: 285
24.06.2013, 18:19
Диармайд, и что посчитает ваше решение?
0
24.06.2013, 18:58

Не по теме:

Цитата Сообщение от Psilon Посмотреть сообщение
@sniper_lunev, Код C#1
*if (!(n >= 0))гениальная запись. В мемориз
И подпись под сообщением отражает суть...

0
 Аватар для Scrypto
132 / 111 / 48
Регистрация: 08.02.2013
Сообщений: 621
24.06.2013, 21:54
Немного рекурсии

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
31
32
 class Program
    {
        static void Main(string[] args)
        {
            Factorial ob1 = new Factorial();
            int x;
            bool flag;
            Console.WriteLine("Введие число");
            flag = int.TryParse(Console.ReadLine(), out x);
            if (flag)
                if(x>0&x!=0)
                Console.WriteLine("Факториал "+x+" это "+ob1.Factor(x));
                    else
                    Console.WriteLine("Вы ввели отрицательное число или 0");
            else
                Console.WriteLine("Вы ввели не верное значение \"n\"");
            Console.Read();
        }
    }
    class Factorial
    {
 
        public int Factor(int n)
        {
           
            if (n == 1) return 1;
            n = Factor(n - 1) * n;
            return n;
            
 
        }
    }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.06.2013, 21:59
@Scrypto, тогда уж:
C#
1
2
3
4
public uint Fac(uint n)
{                    
   return n > 0 ? n*Fac(n - 1) : 1; 
}
2
56 / 56 / 14
Регистрация: 06.04.2012
Сообщений: 185
25.06.2013, 15:03
человеку нужно реализовывать строковую арифметику, "неотрицательное целое число" это может быть и 99999!, а что произойдет при расчете с типом переменной int?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.06.2013, 15:13
@nike00, где это написано, покажи.
0
56 / 56 / 14
Регистрация: 06.04.2012
Сообщений: 185
25.06.2013, 15:28
"неотрицательное целое число", 99999 это отрицательное? или может быть не целое? С годик назад мне аналогичное поручали когда озаботился тем что бы наконец получить таки диплом бакалавтра(бросил после 3 курсов), поэтому одно место и подсказазывает, что нужно делать строковую арифметику
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
25.06.2013, 15:33
Цитата Сообщение от nike00 Посмотреть сообщение
строковую арифметику
Что за зверь?
0
56 / 56 / 14
Регистрация: 06.04.2012
Сообщений: 185
25.06.2013, 15:37
число в строку, строку - в массив, а дальше как на листочке учили умножать в столбик
на выходе стринг, которому уже нету разницы сколько в нем будет элементов
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.06.2013, 15:41
@freeba, человек длинную арифметику реализует через строку, норм так, бывают более запущенные случаи

@nike00, ну окей, посчитай мне факториал от ulong.MaxValue. Со своей строковой арифметикой. Оно тоже целое и неотрицательное.
0
56 / 56 / 14
Регистрация: 06.04.2012
Сообщений: 185
25.06.2013, 15:47
Зачем мне что-то считать? Я предложил вариант направления мыслей давшего задачу для создателя темы. Если что-то не нравится в моем предложении - так создайте новую тему назовите его "как правильно считать факториал" и не нужно флудить в тему.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.06.2013, 15:50
@nike00, нечего морочить голову человеку, которому дали задание "для начинающих" не имеющим к делу отношения фигней. Если дали ТЗ "вычислить факториал" - то это вычисление факториала от числа, которое помещается в int или long, если только в задании явно не сказано другого.

Не по теме:

Мне интересно, вы много проектов закрыли с таким отношением "да заказчик дурак, не понимает, это же так круто, сделаю-ка я по-своему. А аналитик ваще идиот, зачем там кнопка, пусть лучше будет чекокс, так круче!"

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2013, 15:50
Помогаю со студенческими работами здесь

Написать программу, которая подсчитывает: является ли заданное целое число четным (нечетным)
Написать программу, которая подсчитывает: является ли заданное целое число четным (нечетным)

Написать программу, которая рассчитывает значение выражения с использованием оператора for
Написать прогу, которая рассчитывает значение выражения с использованием оператора for. Запрещается использовать функции класса Math....

Дайте комментарии к программе, которая рассчитывает факториал числа
Программа использует небезопасный код, рассчитывает факториал числа 12 и выполняет операции сложения, вычитания, умножения, деления,...

Дано целое неотрицательное число N. Найти число, составленное теми же десятичными цифрами, что и N, но в обрат
Дано целое неотрицательное число N. Найти число, составленное теми же десятичными цифрами, что и N, но в обратном порядке. Запрещено...

Написать программу, которая считывает целое число, определяет и печатает, четное оно или нечетное
Привет,народ!Помогите написать программу ,которая считывает целое число, определяет и печатает, четное оно или нечетное.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru