Inleiding tot Factorial in R

Het product van alle nummers van één tot het opgegeven nummer wordt de faculteit van een bepaald nummer genoemd. Het nummer gevolgd door! symbool geeft faculteit van een getal aan, betekent! een symbool dat wordt gebruikt om faculteit aan te duiden. De formule die wordt gebruikt om de faculteit van n getal te vinden is n! = n * (n - 1) * (n - 2) * (n - 3)…. Laten we enkele voorbeelden bekijken om faculteit te vinden -

De faculteit van 0 = 0! = 1.

De faculteit van 1 = 1! = 1.

De faculteit van 2 = 2! = n * (n - 1) = 2 * (2 - 1) = 2 * 1 = 2.

De faculteit van 3 = 3! = n * (n - 1) * (n - 2) = 3 * (3 - 1) * (3 - 2) = 3 * 2 * 1 = 6.

De faculteit van 4 = 4! = n * (n - 1) * (n - 2) * (n - 3) = 4 * (4 - 1) * (4 - 2) * (4 - 3) = 4 * 3 * 2 * 1 = 24 .

De faculteit van 5 = 5! = n * (n - 1) * (n - 2) * (n - 3) * (n - 4) = 5 * (5 - 1) * (5 - 2) * (5 - 3) * (5 - 4) = 5 * 4 * 3 * 2 * 1 = 120. Enzovoort.

Net als in de bovenstaande berekening hebben we gezien dat de faculteit van 0 1 is, terwijl de faculteit van het negatieve getal niet is gedefinieerd, in R krijgen we NAN als de output voor de faculteit van het negatieve getal.

Hoe Factorial te vinden in R-programmering?

Hier zullen we het programma bespreken om de faculteit te berekenen met behulp van verschillende methoden.

Voorbeeld # 1 - Factorial met behulp van if-else statement

facto <- function()(
# accept the input provided by the user and convert to integer
no = as.integer( readline(" Input a number to find factorial : "))
fact = 1
# checking whether the number is negative, zero or positive
if(no < 0) (
print(" The number is negative the factorial does not exist. ")
) else if(no == 0) (
print(" The factorial result is 1 ")
) else (
for( i in 1:no) (
fact = fact * i
)
print(paste(" The factorial result is ", no, "is", fact ))
)
)
facto()

De uitvoer van de bovenstaande code voor positief getal–

De uitvoer van de bovenstaande code voor negatief getal–

In de bovenstaande code controleert de if-else-instructie eerst of het nee negatief is of niet, als het nee negatief is betekent nee <0 voorwaarde is waar dan wordt de uitvoer weergegeven "Het getal is negatief, de faculteit bestaat niet", terwijl als voorwaarde is false dan de else if no == 0-voorwaarde controleert, als deze waar is, geeft de output de display "De faculteit is 1", anders berekent met de for-lus de faculteit en geeft de berekende waarde weer als output.

Voorbeeld # 2 - Factorial gebruiken voor lus

facto <- function()(
no = as.integer( readline(prompt=" Enter a number to find factorial : "))
fact = 1
for( i in 1:no) (
fact = fact * i
)
print(paste(" The factorial of ", no, "is", fact ))
)
facto()

De uitvoer van de bovenstaande code–

In de bovenstaande code wordt alleen de faculteit gevonden zonder te controleren of het nummer negatief is of niet.

Voorbeeld # 3 - Factorie met behulp van recursiemethode

fact <- function( no ) (
# check if no negative, zero or one then return 1
if( no <= 1) (
return(1)
) else (
return(no * fact(no-1))
)
)

De uitvoer van de bovenstaande code voor positief getal–

De uitvoer van de bovenstaande code voor negatief getal–

De uitvoer van de bovenstaande code voor nul nummer–

De uitvoer van de bovenstaande code voor positief getal–

De bovenstaande code met behulp van de recursieve functie fact (), binnen de feit () functie zoekt de factor per product van elk getal recursief door de regelteruggave (geen * feit (nr-1)). Stel dat we fact-functie als fact (7) noemen, dan wordt de functie fact () recursief zoals hieronder gegeven -

nee = 7

if (geen vals

retourneer geen * fact (no-1) => 7 * fact (6) => 7 * 6 * fact (5) => => 7 * 6 * 5 * fact (4) => 7 * 6 * 5 * 4 * feit (3) => 7 * 6 * 5 * 4 * 3 * feit (2) => 7 * 6 * 5 * 4 * 3 * 2 * feit (1) => 7 * 6 * 5 * 4 * 3 * 2 * 1 => 5040. Het eindresultaat is dus 5040.

Voorbeeld # 4 - Factorial met behulp van de ingebouwde functie

De faculteit () is de ingebouwde functie van de R-taal die wordt gebruikt om de faculteit van een getal te berekenen. De syntaxis van de functie is -

faculteit (nee)

nee - numerieke vector

Een deel van het voorbeeld voor faculteit (geen) functie met verschillende parameters -

# find the factorial of -1
> factorial(-1)
(1) NaN
# find the factorial of 0
> factorial(0)
(1) 1
# find the factorial of 1
> factorial(1)
(1) 1
# find the factorial of 7
> factorial(7)
(1) 5040
# find the factorial for vector of each elements 2, 3, 4
> factorial(c(2, 3, 4))
(1) 2 6 24

Conclusie

  • Het product van alle nummers van 1 tot het opgegeven nummer wordt de faculteit van een opgegeven nummer genoemd.
  • De formule of logica die wordt gebruikt om de faculteit van n getal te vinden is n! = n * (n - 1) * (n - 2) * (n - 3)….
  • De faculteit van 0 is 1, de faculteit van alle negatieve getallen is niet gedefinieerd in R het voert NAN uit.
  • In de R-taal kan de faculteit van een getal op twee manieren worden gevonden: men gebruikt ze voor lus en een andere manier is recursie gebruiken (recursief de functie aanroepen).

Aanbevolen artikelen

Dit is een gids voor Factorial in R. Hier bespreken we de introductie van Factorial in R samen met de programma's met voorbeelden. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Factorial in Python
  2. Factorie in C
  3. Omgekeerd nummer in C
  4. Factorie in PHP
  5. Recursieve functie in JavaScript

Categorie: