Kotlin-program for å finne fakta av et tall

I dette programmet lærer du å finne et faktum av et nummer som bruker for og mens loop i Kotlin. Du lærer også å bruke områder for å løse dette problemet.

Faktoren til et positivt tall n er gitt av:

 fabrikk av n (n!) = 1 * 2 * 3 * 4 * … * n 

Eksempel 1: Finn faktor for et tall ved hjelp av for loop

 fun main(args: Array) ( val num = 10 var factorial: Long = 1 for (i in 1… num) ( // factorial = factorial * i; factorial *= i.toLong() ) println("Factorial of $num = $factorial") )

Når du kjører programmet, vil utdataene være:

 Faktor av 10 = 3628800

I dette programmet har vi brukt for loop til loop gjennom alle tall mellom 1 og det gitte tallet num (10), og produktet av hvert nummer til num er lagret i en variabel faktor.

I motsetning til Java, i Kotlin, kan du bruke områder ( 1… num) og i operatør til å gå gjennom tall mellom 1 og num.

Vi har også brukt lenge i stedet for int for å lagre store resultater av faktoria.

Imidlertid er det fortsatt ikke stort nok til å lagre verdien av større tall (si 100). For resultater som ikke kan lagres i en lang variabel, bruker vi BigIntegervariabel deklarert i java.mathbiblioteket.

Her er ekvivalent Java-kode: Java-program for å finne fakta av et tall.

Eksempel 2: Finn faktor for et tall ved hjelp av BigInteger

 import java.math.BigInteger fun main(args: Array) ( val num = 30 var factorial = BigInteger.ONE for (i in 1… num) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(num.toLong())) ) println("Factorial of $num = $factorial") )

Når du kjører programmet, vil utdataene være:

 Faktor av 30 = 2058911320946490000000000000000000000000000000000

Her, i stedet for long, bruker vi BigIntegervariabel faktor.

Siden, *ikke kan brukes med BigInteger, bruker vi i stedet multiply()for produktet. Også num skal kastes til BigIntegerfor multiplikasjon.

På samme måte kan vi også bruke en stund-løkke for å løse dette problemet.

Eksempel 3: Finn faktor for et tall ved hjelp av mens loop

 fun main(args: Array) ( val num = 5 var i = 1 var factorial: Long = 1 while (i <= num) ( factorial *= i.toLong() i++ ) println("Factorial of $num = $factorial") )

Når du kjører programmet, vil utdataene være:

 Faktor på 5 = 120

I det ovennevnte programmet må vi, i motsetning til en for-løkke, øke verdien av i inne i kroppen.

Selv om begge programmene er teknisk korrekte, er det bedre å bruke for loop i dette tilfellet. Det er fordi antall iterasjon (opp til antall) er kjent.

Besøk denne siden for å lære å finne et faktura av et nummer ved hjelp av rekursjon.

Interessante artikler...