Java -program for Factorial

Java -program for Factorial

Mens det arbeider med matematiske problemer i Java, kan det være tilfeller der programmereren trenger å hente et resultat basert på rekkefølgen av verdier. For eksempel å multiplisere suksessen av verdier i stedet for å beregne hver av verdiene individuelt. I slike scenarier, returnerer "factorial”Av antallet er nyttig i mange tilfeller for å redusere kodekompleksiteten.

Denne artikkelen vil utdype tilnærmingene til å beregne "factorial" av et tall i Java.

Hvordan beregne fabrikken til et tall i Java?

For å beregne faktorialen til et tall i Java, bruk følgende tilnærminger:

    • til" Løkke
    • samtidig som" Løkke
    • Rekursjon" Nærme seg

Algoritme for beregning av "factorial" av et tall

Først av alt, la oss implementere en algoritme for å finne "factorial”Av et tall. For eksempel, hvis fabrikken av antallet "5”Må beregnes, den tilsvarende beregningen kan gjøres, som følger:

5 -> 5 * 4 * 3 * 2 * 1 = 120;

Tilnærming 1: Beregning av faktorialen til et tall i Java ved å bruke "for" -sløyfe

til”Loop brukes til å iterere gjennom verdiene og vise dem individuelt. Denne tilnærmingen kan brukes til å iterere sløyfen fra “1”Til nummeret (beregnet for fabrikk) og returnerer multiplikasjonen.

Eksempel

Gå gjennom følgende eksempel:

offentlig klasse factorial
public static void main (String args [])
int nummer = 5;
int factorial = 1;
for (int i = 1; i <= number; ++i)
factorial *= i;

System.ute.println ("Faktorialet til"+tall+"er:"+factorial);


I henhold til ovennevnte kodebit, bruk følgende trinn:

    • For det første, initialiser de uttalte heltallene.
    • Etter det, bruk en “til”Loop for å iterere fra“1”Til antallet hvis fabrikk må beregnes.
    • I Loop -definisjonen kan du returnere multiplikasjonen av de påfølgende heltallene som starter fra “1”Til tallet.
    • Til slutt kan du vise den tilsvarende faktorialen av antallet.

Produksjon


I denne utgangen kan det analyseres at faktorialet av det tilsvarende antallet returneres.

Alternativ logikk

Alternativt kan fabrikken beregnes ved å bare reversere "til”Loop -logikk i eksemplet ovenfor, som følger:

for (int i = nummer; i> = 1; --i)
factorial *= i;


Her utfører den iterasjonen omvendt, jeg.e., Starter fra tallet (som skal beregnes for fabrikk) til “1”Og returnerer fabrikken.

Produksjon


Som observert er resultatet også i dette tilfellet.

Tilnærming 2: Beregning av faktorialen til et tall i Java ved å bruke “While” Loop

samtidig som”Loop brukes til å iterere uendelig. Denne sløyfen kan påføres på samme måte å iterere langs verdiene som starter fra “1Inntil tallet (beregnet for fabrikk) og multipliser dem.

Eksempel

Eksemplet under gitt forklarer det uttalte konseptet:

offentlig klasse factorial
public static void main (String args [])
int nummer = 5;
int factorial = 1;
int x = 1;
mens (x<=number)
factorial *= x;
x ++;

System.ute.println ("Faktorialet til"+tall+"er:"+factorial);


I kodelinjene ovenfor:

    • Tilsvarende initialiser de angitte heltallene.
    • Nå, bruk “samtidig som”Loop for å iterere fra“1Inntil tallet som skal beregnes for factorial.
    • I Loop Definition, multipliser de itererte heltallene ett etter en ved å øke dem med tanke på den spesifiserte tilstanden.

Produksjon


Som indikert ga dette utfallet riktig beregning.

Tilnærming 3: Beregning av faktorialen til et tall i Java ved å bruke "rekursjon"

Rekursjon”I Java er en prosess der en metode kaller seg kontinuerlig. Denne tilnærmingen kan brukes ved å ta et brukerinngangsnummer og beregne det for factorial ved å påkalle funksjonen gjentatte ganger innenfor samme funksjon.

Først, inkluder den undergitte pakken før du drar til eksemplet for å sikre brukerinngang:

Importer Java.util.Skanner;


Eksempel

La oss nå vurdere følgende eksempel:

offentlig klasse factorialrecursion
statisk int factorial (int n)
if (n == 0)
retur 1;
ellers
retur (n * factorial (n-1));

public static void main (String args [])
Skanner obj = ny skanner (system.i);
System.ute.println ("Skriv inn nummeret:");
int num = obj.nextInt ();
System.ute.println ("Faktorialen blir:"+factorial (num));
obj.Lukk();


I henhold til denne koden:

    • Definere en funksjon som heter “Factorial ()”.
    • Funksjonsparameteren tilsvarer antallet som skal evalueres for Factorial.
    • I sin (funksjon) definisjon, returner "1”I tilfelle av antallet er“0”Via“hvis”Uttalelse.
    • Ellers påkaller den samme funksjonen som den er definert og multipliser det beståtte nummeret med alle påfølgende etterfølgere mindre enn det til “1”.
    • I “hoved()”Metode, lag en“Skanner”Objekt ved å bruke“ny”Nøkkelord og“Skanner ()Henholdsvis konstruktør.
    • System.i”Parameter leser inngangen og“NextInt ()”Metoden tar brukerinngang som heltall.
    • Til slutt, påkalle "tilbakevendende”Funksjon og passere brukerinndata heltall som argument som må beregnes for Factorial.

Produksjon



Denne utgangen betyr at ønsket utfall blir hentet.

Konklusjon

For å beregne “factorial”Av et tall i Java, bruk“til”Loop,“samtidig som”Loop, eller“Rekursjon" nærme seg. De to tidligere tilnærmingene returnerer fabrikken ved å iterere fra “1”Til det medfølgende heltallet og multipliserer de itererte verdiene. Den sistnevnte tilnærmingen beregner det fabrikkere slik at funksjonen får tilgang til seg selv gjentatte ganger. Denne bloggen beregner fabrikken til det spesifiserte eller brukerinngangsnummeret i Java.