Вычисление факториала в c
Автор RUSic задал вопрос в разделе Другие языки и технологии
как в C# посчитать факториал и получил лучший ответ
Ответ от Илья Павлов[гуру]
Полагаю, что с помощью такой функции:
=======================
public static double Factorial(int n) {
double res = 1;
for(int i = 2; i <= n; i++) {
res *= i;
}
return res;
}
=======================
Синтаксическую правильность не гарантирую, поскольку код пишу в этом окошке.
Теперь ее можно использовать, например, так: double fact = Factorial(10);
Ответ от Дима[гуру]
static double factorial(double x) { return x <= 1? 1 : x * factorial(x - 1); } double X = factorial(N) / factorial(K - N);
static double factorial(double x) { return x <= 1? 1 : x * factorial(x - 1); } double X = factorial(N) / factorial(K - N);
Ответ от Space monkey[гуру]
реализуй свою функцию факториала, это же элементарно, не забудь только проверить входной параметр на то, что он больше нуля. Также при достаточно больших N разрядность long переполнится. это случится при N=21 long res =1; for(int i = 1; i<=n; i++){ res*=i; } return res; Но в вашем случае можно упростить формулу, если k>0 и n >0, нужно считать одной функцией, что будет быстрее и не так подвержено переполнению long res =1; for(int i = k; i<=n; i++){ res*=i; } return res;
реализуй свою функцию факториала, это же элементарно, не забудь только проверить входной параметр на то, что он больше нуля. Также при достаточно больших N разрядность long переполнится. это случится при N=21 long res =1; for(int i = 1; i<=n; i++){ res*=i; } return res; Но в вашем случае можно упростить формулу, если k>0 и n >0, нужно считать одной функцией, что будет быстрее и не так подвержено переполнению long res =1; for(int i = k; i<=n; i++){ res*=i; } return res;
Ответ от Влад Охрименко[новичек]
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { int c1 = 4; int c2 = 1; Console.WriteLine("Factorial : {0}", c1); do { c2 = c2 * c1; c1 = c1 - 1; } while (c1 > 1); Console.WriteLine("{0}", c2); Console.ReadKey(); } }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { int c1 = 4; int c2 = 1; Console.WriteLine("Factorial : {0}", c1); do { c2 = c2 * c1; c1 = c1 - 1; } while (c1 > 1); Console.WriteLine("{0}", c2); Console.ReadKey(); } }}
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: как в C# посчитать факториал
спросили в Arch Linux
Рекурсия в C++ объясните на самом простейшем примере для чайника
Рекурсия - это такая процедура, когда очередное значения функции вычисляется через предыдущее
подробнее...
Рекурсия в C++ объясните на самом простейшем примере для чайника
Рекурсия - это такая процедура, когда очередное значения функции вычисляется через предыдущее
подробнее...
Что такое факториал и зачем он нужен?
n! — произведение всех натуральных чисел от 1 до n включительно:
7!=1*2*3*4*5*6*7
подробнее...
спросили в 1011 год 1021 год
Сколько весит планета Земля и как это удалось вычислить?
СКОЛЬКО ВЕСИТ ЗЕМЛЯ?
Земля расположена в космическом пространстве, поэтому узнать вес
подробнее...
Сколько весит планета Земля и как это удалось вычислить?
СКОЛЬКО ВЕСИТ ЗЕМЛЯ?
Земля расположена в космическом пространстве, поэтому узнать вес
подробнее...