Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 21

Нужно переделать факториал в класс BigInteger

08.02.2012, 17:55. Показов 1552. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл BinTest.java и BinC.java
Вот файл BinTest.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.awt.*;
import java.awt.event.*;
public class BinTest extends Frame
{
private Label lb1, lb2, lb3, lb4;
private Button but1, but2;
private TextField tf1, tf2,tf4;
public BinTest(String title)
{
super(title);
setLayout(null);
lb1 = new Label("k: ");
lb1.setBounds(10, 50, 50, 20);
add(lb1);
lb2 = new Label("n: ");
lb2.setBounds(10, 80, 50, 20);
add(lb2);
tf1 = new TextField(10);
tf1.setBounds(80, 50, 100, 20);
add(tf1);
tf2 = new TextField(10);
tf2.setBounds(80, 80, 100, 20);
add(tf2);
lb2 = new Label("Результат: ");
lb2.setBounds(10, 140, 65, 20);
add(lb2);
tf4 = new TextField(10);
tf4.setBounds(80, 140, 100, 20);
add(tf4);
but1 = new Button("Обрахувати Біном");
but1.setBounds(190, 50, 110, 30);
add(but1);
but1.addActionListener(new BinC(tf1,tf2,tf4));
setSize(320, 240);
setVisible(true);
setResizable(false);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args)
{
new BinTest("Обчислення біноміального коефіцієнта");
}
}
Это графический интерфейс.
А Вот файл BinTest.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.awt.*;
import java.awt.event.*;
import java.math.BigInteger;
class BinC implements ActionListener
{
    TextField tf1,tf2,tf4;
    public BinC(TextField tf1, TextField tf2,TextField tf4)
     {
    this.tf1=tf1; this.tf2=tf2;
    this.tf4=tf4;
    }
    public void actionPerformed(ActionEvent e)
    {
    try{
        int k=Integer.parseInt(tf1.getText());
         int n=Integer.parseInt(tf2.getText());
              int x=1; int result=0;
         
              result=(fact(n)/(fact(k)*fact(n-k)));
    
          tf4.setText(result+"");
      }catch(Exception er){}
      
} 
             
   static int fact(int a){
     int fact=1;
      for (int i=1; i<=a; i++){
       fact=fact*i;}
        return fact;        
    
 
}
 
}
Нужно сделать чтобы факториал вычислялся класом BigInteger.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2012, 17:55
Ответы с готовыми решениями:

Метод BigInteger.GreatestCommonDivisor (BigInteger, BigInteger)
Как использовать в C# windowsforms метод BigInteger.GreatestCommonDivisor (BigInteger, BigInteger)? Пример кода.

Факториал некторого числа записан в eax, а нужно вывести этот факториал в ebx
Хочу сделать код факториал некторого числа записан в eax, а нужно вывести этот факториал в ebx и где-то ошибка ( не могли бы помочь...

Java - класс BigInteger
Здравствуйте! Помогите, пожалуйста, с битовыми операциями в классе BigInteger (and, or, not, xor). Программа заканчивает работу с...

6
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
08.02.2012, 18:14
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static BigInteger factorial(int x) {
    if (x < 0) {
        throw new IllegalArgumentException("factorial of negative number is undefined");
    }
 
    BigInteger fac = BigInteger.ONE;
    for (int i = 2; i <= x; i++) {
        fac = fac.multiply(BigInteger.valueOf(i));
    }
 
    return fac;
}
пользуйтесь поиском, этот пример есть наверно на любом форуме и не только
0
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 21
08.02.2012, 18:44  [ТС]
Помогите вставить этот код туда, у меня оно не работает

Добавлено через 17 минут
я сделал так, но оно не работает. Помогите найти ошыбку
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.math.BigInteger;
class BinC implements ActionListener
{
    TextField tf1,tf2,tf4;
    public BinC(TextField tf1, TextField tf2,TextField tf4)
     {
    this.tf1=tf1; this.tf2=tf2;
    this.tf4=tf4;
    }
    public void actionPerformed(ActionEvent e)
    {
    try{
        int k=Integer.parseInt(tf1.getText());
         int n=Integer.parseInt(tf2.getText());
              int x=1; int result=0;
         
              result=(fact(n)/(fact(k)*fact(n-k)));
    
          tf4.setText(result+"");
      }catch(Exception er){}
      
} 
             
  
        static BigInteger fact(long a) {
        BigInteger fact = BigInteger.ONE;
        for (int i = 1; i <= a; i++) 
        fact = fact.multiply(BigInteger.valueOf(i));
        return fact;
    }
}
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
08.02.2012, 18:58
ну у Вас же метод уже возвращает BigInteger, а вы результат пытаетесь впихнуть в int

если переписать Вашу формулу, то она будет выглядеть так:

Java
1
BigInteger result = factorial(n).divide((factorial(k).multiply(factorial(n-k))));
1
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 21
08.02.2012, 19:19  [ТС]
этот код выдал ошыбку
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.math.BigInteger;
class BinC implements ActionListener
{
    TextField tf1,tf2,tf4;
    public BinC(TextField tf1, TextField tf2,TextField tf4)
     {
    this.tf1=tf1; this.tf2=tf2;
    this.tf4=tf4;
    }
    public void actionPerformed(ActionEvent e)
    {
    try{
        int k=Integer.parseInt(tf1.getText());
         int n=Integer.parseInt(tf2.getText());
               int x=1; int result=0;
         
             BigInteger result = fact(n).divide((fact(k).multiply(fact(n-k))));
    
          tf4.setText(result+"");
      }catch(Exception er){}
      
} 
             
  
        public static BigInteger fact(long a) {
        BigInteger fact = BigInteger.ONE;
        for (int i = 1; i <= a; i++) 
        fact = fact.multiply(BigInteger.valueOf(i));
        return fact;
    }
}
вот ошыбка
.\BinC.java:20: result is already defined in actionPerformed(Actionevent)
BigInteger result = fact(n).divide((fact(k).multiply(fact(n-k))));
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
08.02.2012, 19:24
эээх... уберите
Java
1
 int result=0;
что-ли
0
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 21
08.02.2012, 19:42  [ТС]
Большое спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2012, 19:42
Помогаю со студенческими работами здесь

Как делить одно число BigInteger на другое BigInteger, при чем не теряя остаток
Помогите пожалуйста. Надо поделить одно число BigInteger на другое, при чем в результате сохранить весь остаток

надо переделать задачу она уже решена ну ее нужно переделать
вот задача const n=4; var a:array of integer; i,s:integer; begin for i:=1 to n do begin write('Введите ',i,'-й элемент...

Бинарное возведение в степень числа типа BigInteger в степень Biginteger
Здравствуйте. Не могу реализовать алгоритм бинарного возведения в степень. Есть 2 экземпляра BigInteger p,q. По методу Pow не...

BigInteger в степени BigInteger
Возможно ли возвести переменную типа BigInteger в такую же? Метод ModPow отпадает из-за необходимости mod'a. Спасибо.

BigInteger в степени BigInteger
Имеются переменные y,r,s,p типа BigInteger. Необходимо вычислить (y^r*r^s) % p. Какие предложения по поводу вычисления данной формулы? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru