0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 10

Нахождение произведения многочленов степени 2^n. Алгоритм Карацубы

22.02.2023, 12:57. Показов 334. Ответов 0

Студворк — интернет-сервис помощи студентам
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
public class Basic_1_2_16 {
    public static void main(String[] args){
        int n = 6;
        int[] a = new int[n];
        int[] b = new int[n];
        int[] c = new int[a.length+b.length];
        fill(a);fill(b);
        System.out.print("a = ");print(a);
        System.out.print("b = ");print(b);
        karatsuba(a,b);
    }
    private static void fill(int[] a) {
        for (int i = 0;  i<a.length; i++) {
            a[i] = (int)(Math.random() * 100);
        }
    }
    private static void karatsuba(int[] m, int[] l){
        int n = m.length, k = n / 2;
        int[] a = let(m,0,k);
        int[] b = let(m,k,n);
        int[] c = let(l,0,k);
        int[] d = let(l,k,n);
 
        int[] ac = mull(a,c);
        int[] bd = mull(b,d);
 
        int[] sab = sum(a,b);
        int[] scd = sum(c,d);
 
        int[] bigMull = sub(sub(mull(sab,scd),ac),bd);
 
        int[] r = sum(sum(shift(ac,n),shift(bigMull,n/2)),shift(bd,0));
        System.out.print("c = ");print(r);
    }
   private static int[] let(int[] a,int s, int e) {
        int n = e-s, j = 0;
        int[] b = new int[n];
        for (int i = s; i < e; i++) {
            b[j] = a[i];j++;
        }
        return b;
    }
    private static int[] sum(int[] a,int[] b) {
        int[] c = new int[a.length];
        for (int i = 0; i < a.length; i++) {
            c[i] = a[i] + b[i];
        }
        return c;
    }
    private static int[] sub(int[] a,int[] b) {
        int[] c = new int[a.length];
        for (int i = 0; i < a.length; i++) {
            c[i] = a[i] - b[i];
        }
        return c;
    }
    private static int[] mull(int[] a,int[] b) {
        int[] c = new int[a.length+b.length];
        for (int i = 0; i < a.length; i++)
            for (int j = 0; j < b.length; j++)
                c[i + j] += a[i] * b[j];
        return c;
    }
    private static int[] shift(int[] a,int n){
        int[] b = new int[a.length*2];int j, d;
        if (n==0) {
            j = b.length - 1;
            d = -1;
        } else {
            j = b.length - n;
            d = 0;
        }
        for (int i = a.length-1+d; i >= 0; i--){
            b[j--] = a[i];
        }
        return b;
    }
    private static void print(int[] a) {
        for (int i = 0; i < a.length ; i++) {
            System.out.print(((i!=0)?"+":"") + a[i] + "*x^"+ (a.length-i-1) );
        }
        System.out.println();
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.02.2023, 12:57
Ответы с готовыми решениями:

Алгоритм Карацубы, время выполнение алгоритма
Прохожу online курс, третий день бьюсь над заданием. Неудается пройти проверку, выдает ошибку: “Failed test #7. Time limit exceeded”. По...

Написать не большую программу для нахождения произведения двух многочленов
Помогите, мне нужна небольшая программка вычисляющая произведения двух многочленов N-ой степени.

Умножение многочленов алгоритмом Карацубы с++
Умножение многочленов алгоритмом Карацубы с++ Помогите пожалуйста, если у вас есть любой код с таким условием, скиньте его и объясните,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2023, 12:57
Помогаю со студенческими работами здесь

Правильно ли реализован алгоритм нахождения произведения суммы?
Найти произведение суммы \prod_{j=1}^{m}\sum_{i=1}^{n}(3*i-j) Правильно я составил? или нет? так как если я изменяю p=0 на p=1 выдаёт...

Составить алгоритм нахождения произведения и суммы всех элементов одномерного массива.
3. Составить алгоритм нахождения произведения и суммы всех элементов одномерного массива.

Построить алгоритм, составить и отладить программу для нахождения произведения ряда
var i:integer; n,p,u:real; begin i:=2; p:=1; u:=exp((-4)*ln(10)); repeat n:=n+(1/exp((2)*ln(i))); P:=p*(1-n); until n&lt;u; ...

Составьте алгоритм и программу нахождения произведения двух наибольших из трех введенных чисел
Составьте алгоритм и программу нахождения произведения двух наибольших из трех введенных чисел. хелп :с

Составить алгоритм для нахождения произведения двух наименьших чисел из трех заданных
10. Составить алгоритм для нахождения произведения двух наименьших чисел из трех заданных.


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru