이번 섹션에서는 C#의 팩토리얼을 자세히 살펴보겠습니다. 계승은 대수학이나 수학 분석과 같은 수학 분야에서 매우 중요한 개념입니다. 느낌표(!)로 표시됩니다. 팩토리얼은 k로 표시되는 양의 정수 k입니다! k보다 작거나 같은 모든 양의 정수의 곱입니다.
k!= k * (k-1) *(k-2) *(k-3) *(k-4) *…….3 *2 * 1.
주어진 숫자의 계승을 계산하는 논리
예를 들어 4의 계승을 계산하려면 다음과 같습니다.
예시 #1
4! = 4 * (4-1) *(4-2) * (4-3)
4! = 4 * 3 * 2 * 1
4! = 24.
그러니까 4의 팩토리얼은 24입니다
예시 #2
6! = 6 * (6-1)* (6-2)* (6-3) * 6-4)* (6-5)
6! = 6*5*4*3*2*1
6! = 720
그래서 6의 계승은 720입니다
마찬가지로 이 기술을 사용하면 모든 양의 정수의 계승을 계산할 수 있습니다. 여기서 중요한 점은 0의 팩토리얼이 1이라는 점입니다.
0! =1.
이에 대해서는 n처럼 설명이 많아요! 여기서 n=0은 숫자가 없는 곱을 의미하며 곱셈 엔터티와 같습니다. {displaystyle {binom {0}{0}}={frac {0!}{0!0!}}=1.}
팩토리얼 함수는 주로 순열과 조합을 계산하는 데 사용되며 이항식에도 사용됩니다. 계승 함수의 도움으로 확률을 계산할 수도 있습니다. 예를 들어 k개 항목을 얼마나 많은 방법으로 배열할 수 있는지를 살펴보겠습니다. 첫 번째 항목에 대해 k개의 선택지가 있습니다. 따라서 이 k개의 선택 항목 각각에 대해 두 번째 항목에 대해 k-1개의 선택 항목이 남아 있으므로(첫 번째 선택이 이미 이루어졌기 때문에) 이제 k(k-1)개의 선택 항목이 있습니다. , 이제 세 번째 선택에는 k(k-1)(k-2)개의 선택이 있고, 하나를 얻을 때까지 계속해서 남은 것이 있습니다. 따라서 전체적으로 k(k-1)(k-2)(k-3)…3..1.
또 다른 실시간 예는 결혼식에 갈 때 어떤 블레이저를 가져갈지 선택하고 싶다고 가정합니다. 그러면 k개의 블레이저가 있고 n개만 포장할 공간이 있다고 가정해 보겠습니다. 그렇다면 k개의 블레이저 k!/(n!.(k-n)!).
컬렉션에서 n개의 블레이저를 사용할 수 있는 방법은 몇 가지입니까?다음은 다양한 방법으로 숫자의 계승을 계산하는 방법을 보여주는 예입니다.
1. 이 예에서는 for 루프를 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 7; int fact = 1; for (int x = 1; x <= a; x++) { fact *= x; } Console.WriteLine(fact); Console.ReadLine(); } } }
이 예제에서는 정수 데이터 유형의 변수가 초기화되고 for 루프를 사용하여 숫자를 계산합니다.
출력:
2. 이 예에서는 계승값을 계산하기 위해 사용자가 숫자를 입력할 수 있습니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; for (int x = 1; x <= a; x++) { fact *= x; } Console.WriteLine(fact); Console.ReadLine(); } } }
출력:
1. 이 예에서는 for 루프를 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 10; int fact = 1; while (true) { Console.Write(a); if (a == 1) { break; } Console.Write("*"); fact *= a; a--; } Console.WriteLine(" = {0}", fact); Console.ReadLine(); } } }
출력:
2. 이 예에서는 while 루프를 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; while(true) { Console.Write(a); if(a==1) { break; } Console.Write("*"); fact *= a; a--; } Console.WriteLine(" = {0}", fact); Console.ReadLine(); } } }
출력:
1. 이 예에서는 do-while을 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int a = 6; int fact = 1; do { fact *= a; a--; } while (a > 0); Console.WriteLine("Factorial = {0}", fact); Console.ReadLine(); } } }
출력:
2. 이 예에서는 do-while을 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.Write("Enter the number: "); int a = int.Parse(Console.ReadLine()); int fact = 1; do { fact *= a; a--; } while (a > 0); Console.WriteLine("Factorial = {0}", fact); Console.ReadLine(); } } }
출력:
1. 이 예에서는 재귀 함수를 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Factorial { class Program { static void Main() { int n= 5; long fact = Fact(n); Console.WriteLine("factorial is {1}", n, fact); Console.ReadKey(); } private static long Fact(int n) { if (n == 0) { return 1; } return n * Fact(n - 1); } } }
위의 예에서는 재귀를 사용하여 숫자의 계승을 달성합니다. 재귀 뒤에 숨어 있는 아이디어는 작은 경우에 문제를 해결하는 것입니다. 따라서 함수가 루프를 만들고 자신을 호출할 때마다 이를 재귀라고 합니다.
출력:
2. 이 예에서는 재귀 함수를 사용하여 숫자의 계승을 계산합니다.
코드:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FactorialExample { class Program { static void Main() { Console.WriteLine("Enter the number"); int n = Convert.ToInt32(Console.ReadLine()); long fact = Fact(n); Console.WriteLine("factorial is {1}", n, fact); Console.ReadKey(); } private static long Fact(int n) { if (n == 0) { return 1; } return n * Fact(n - 1); } } }
출력:
그래서 팩토리얼의 개념은 이항식, 순열, 조합과 같은 수학 분야에서 매우 중요하며, 이는 for, while, do-while, function과 같은 여러 방법을 사용하여 모든 숫자의 팩토리얼을 인쇄할 수 있는 방법입니다. 등
위 내용은 C#의 팩토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!