Јава програм за проналажење фактора броја

У овом програму научићете да пронађете факторијел броја који користи петљу фор и вхиле у Јави.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава за петљу
  • Јава вхиле и уради … вхиле Лооп

Факторијал позитивног броја н дат је са:

 факторијел од н (н!) = 1 * 2 * 3 * 4 * … * н 

Пример 1: Пронађите факторијел броја помоћу петље фор

 public class Factorial ( public static void main(String() args) ( int num = 10; long factorial = 1; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial *= i; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Оутпут

 Факторијал од 10 = 3628800

У овом програму користили смо фор петљу за петљу кроз све бројеве између 1 и датог броја нум (10), а умножак сваког броја док се нум чува у променљивом факторијелу.

Користили смо лонг уместо инт за чување великих резултата факторијела. Међутим, још увек није довољно велик за чување вредности већих бројева (рецимо 100).

За резултате који се не могу сачувати у дугој променљивој користимо BigIntegerпроменљиву декларисану у java.mathбиблиотеци.

Пример 2: Пронађите факторијел броја помоћу БигИнтегер-а

 import java.math.BigInteger; public class Factorial ( public static void main(String() args) ( int num = 30; BigInteger factorial = BigInteger.ONE; for(int i = 1; i <= num; ++i) ( // factorial = factorial * i; factorial = factorial.multiply(BigInteger.valueOf(i)); ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Оутпут

 Факторијал од 30 = 265252859812191058636308480000000

Овде, уместо long, користимо BigIntegerпроменљиву факторијел.

Пошто *се не може користити са њим BigInteger, ми га користимо multiply()за производ. Такође, нум треба да се улије BigIntegerза множење.

Исто тако, такође можемо користити вхиле петљу за решавање овог проблема.

Пример 3: Пронађите факторијел броја помоћу петље вхиле

 public class Factorial ( public static void main(String() args) ( int num = 5, i = 1; long factorial = 1; while(i <= num) ( factorial *= i; i++; ) System.out.printf("Factorial of %d = %d", num, factorial); ) )

Оутпут

 Факторијал од 5 = 120

У горњем програму, за разлику од фор петље, морамо повећати вредност и унутар тела петље.

Иако су оба програма технички исправна, у овом случају је боље користити фор лооп. То је зато што је познат број понављања (до броја).

Посетите ову страницу да бисте научили како пронаћи факторијел броја помоћу рекурзије.

Занимљиви Чланци...