C ++ Factorial

C ++ Factorial
Fabrikk av et hvilket som helst antall er produktet av alle positive etterkommer heltall. Faktorialen brukes vanligvis i blandinger og variasjoner. Negative tall har ikke fabrikk. For eksempel 1 er en fabrikk på 0. Faktorialen er betegnet med symbolet '!'. Når brukeren legger inn et heltall, må alle tallene multipliseres opp til det aktuelle tallet. Faktoriell kan bestemmes ved hjelp av "for" -løkker. Når vi initialiserer det med 0, får vi 0 i resultatet, og når vi ikke initialiserer, får vi riktig svar, men hvis en variabel har en søppelverdi, kunne vi ikke få riktig svar. Så det foreslås å initialisere faktorialen med 1. I C ++ er det mange metoder for å finne ut faktorialen av forskjellige heltall. La oss diskutere på den måten. For utførelse av koder brukes Dev C ++. Vi skriver følgende koder på den og kjører dem.

Bestem faktorens fabrikk ved å bruke rekursjon

Vi kan få fabrikken til et hvilket som helst tall ved bruk av rekursjonsmetoden. I dette eksemplet tar vi et hvilket. Vi inkluderer en overskriftsfil som følger.

#inkludere
ved hjelp av navneområdet STD;
int factorial (int x);
int main ()

int x;
cout x;
cout << "Factorial of " << x << " = " < 1)
return x * factorial (x - 1);
ellers
retur 1;

Anta at vi oppgir nummeret “12” i programmet etter behov, Factorial () -metoden tar dette heltallet bare som et argument. Denne funksjonen multipliserer 12 etter fabrikken av (12-1 = 11). For å gjøre dette sendes tallet "11" tilbake til Factorial () -metoden. Tilsvarende, i neste repetisjon, multipliser 11 med fabrikken av (11-1 = 10). Factorial () -metoden blir deretter gitt 10 som en parameter. Denne prosessen varer til verdien strekker seg 1 og returnerer 1. Nå gir hver funksjon en verdi for å beregne faktorial som blir tilbakeført til hoved- () -funksjonen () funksjonen ().

Brukeren legger inn et nummer 12 og oppnår deretter faktorialet av dette nummeret.

Brukes til sløyfe

Vi bestemmer faktorialet til et heltall ved hjelp av "for" -sløyfen. La oss se på hva som skjer i koden nedenfor. Vi inkluderer overskriftsfilen i starten. Etter dette bruker vi navneområdet STD. Vi har erklært tre variabler. Variabler 'A' og 'J' er av heltalldatatype. Deretter bruker vi cout -funksjonen for å få et positivt heltall fra brukeren. Det heltallet er lagret i variabel 'A'. Her skriver vi inn nummer '9'.

#inkludere
ved hjelp av navneområdet STD;
int main ()

int a, j, factorial = 1;
Couta;
for (j = a; j> = 1; j--)
factorial = factorial*j;
cout<<"\nFactorial = "<cout<retur 0;

Nå, etter å ha fått heltallet fra brukeren, vil vurderingen av "for" -løkken starte. Verdien av variabel 'A' (9) initialiseres med variabel 'J'. Derfor j = 9. Initialiseringsdelen av for -sløyfen implementeres først, men bare en gang. Tilstanden J> = 1 eller 9> = 1 vurderer til True, så strømmen av programmet går i en sløyfe og fabrikk * J eller 1 * 9 eller 9 blir initialisert til Factorial. Strømmen av programmet går til den tredje delen av løkken og verdien av 'J' er dekrementert. Derfor j = 4. Tilstand J> = 1 er vurdert igjen. Tilstanden blir vurdert hver gang og verdien av 'J' oppdateres. Og etter hver evaluering av tilstanden, utføres programmet inne i sløyfen til tilstanden vurderer til falsk. Så når tilstanden er falsk, får vi verdiene 'J' og 'Factorial' etter hver vurdering. Verdien av 'Factorial' hentes på slutten av løkken. Og dette vil resultere i fabrikken av det spesifiserte tallet.

Brukeren legger inn nummeret '9' og trykker deretter på Enter -tasten for å få fabrikken på 9.

Bruk mens du er sløyfe

En annen metode for å finne faktorverdien er bruken av en stundsløyfe. I denne koden inkluderer vi overskriftsfilen . Vi tar variabelen “M” som å ha et heltall med datatype. Vi har også brukt "hvis" -tilstanden. Den returnerer 1 hvis verdien av 'm' tilsvarer 0. Etter dette tar vi flere variabler. Vi må initialisere disse variablene før stundsløyfen.

#inkludere
ved hjelp av navneområdet STD;
usignert int factorial (usignert int m)

if (m == 0)
retur 1;
int k = m, factorial = 1;
mens (m / k != m)
factorial = factorial * k;
k--;

Retur Factorial;

int main ()

int n = 16;
cout << "Factorial of the number "
<< n<< " is "
<< factorial(n) << endl;
retur 0;

Vi bruker mens uttalelsen for å implementere en iterativ struktur når operasjonene er ukjent, og iterasjonen varer til testtilstanden blir sann. Når uttalelsen er implementert, vurderer datamaskinen først den gitte testtilstanden. Hvis denne tilstanden er sann, blir sløyfens kropp implementert. Etter å ha kjørt sløyfekroppen, blir testtilstanden vurdert igjen, og hvis det er sant, kjøres sløyfekroppen igjen. Denne prosedyren fortsetter til den gitte testtilstanden er falsk. Hvis falsk, overføres kontrollen til den første erklæringen etter slutten av sløyfekroppen. Loopens kropp inneholder bare en uttalelse eller flere uttalelser.

Deretter tar vi nummeret '16' for å finne faktorialen. Dette tallet er signalisert med variabelen 'n'.

Etter å ha kjørt den ovennevnte koden, får vi fabrikken på 16 i produksjonen.

Konklusjon:

Denne artikkelen forklarer teknikkene for å finne faktorialet av et tall. Vi multipliserte alle de ikke-negative heltallene som er mindre enn eller tilsvarer dette tallet for å få fabrikken av dette tallet. For ikke-negative tall er faktorial alltid bestemt. For å få fabrikk av positive heltall, bruker vi for -loopen og stundsløyfen. Vi benyttet også rekursjonsmetoden for dette formålet.