Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Множення великих чисел методом Карацуби

Автор:   •  Октябрь 9, 2022  •  Лабораторная работа  •  411 Слов (2 Страниц)  •  173 Просмотры

Страница 1 из 2

Міністерство освіти і науки України

Тернопільський національний технічний університет імені Івана Пулюя

Кафедра комп’ютерних наукових

Звіт

з лабораторної роботи №1

з курсу: “Теорія алгоритмів”

на тему: “ Множення великих чисел методом Карацуби”

Прийняв:

Михайлович Т. В.

Тернопіль, 2021

Лабораторна робота №1

Завдання:

[pic 1]

Хід роботи

Код (Python):

import math

amount_105 = 0

amount_72 = 0

amount_12 = 0

def calculateKaratsuba(x, y):

    x = str(x)

    y = str(y)

    len_x = len(x)

    len_y = len(y)

    global amount_105, amount_72, amount_12

    n = max(len_x, len_y)

    if n == 1:

        return int(x)*int(y)

    half_n = n // 2

    devider_x = len_x - half_n

    devider_y = len_y - half_n

    a = x[0:devider_x]

    b = x[devider_x:len_x]

    c = y[0:devider_y]

    d = y[devider_y:len_y]

    if a == '':

        a = 0

    if b == '':

        b = 0

    if c == '':

        c = 0

    if d == '':

        d = 0

    ac = calculateKaratsuba(a, c) #  a*c

    bd = calculateKaratsuba(b, d) #  b*d

    multipy = calculateKaratsuba( int(a) + int(b) , int(c) + int(d) ) #(a+b)*(c+d)

...

Скачать:   txt (2.7 Kb)   pdf (243.7 Kb)   docx (160.5 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club