неділю, 28 листопада 2021 р.

29.11.2021 - 05.12.2021 Алгоритми пошуку НСД та НСК, розгалуження та повторення

29.11.2021 - 05.12.2021

 

Тема: Алгоритми пошуку НСД та НСК, розгалуження та повторення

 

Теоретична частина

 

Множина цілих чисел складається з множини натуральних чисел 1, 2, 3,..., нуля і множини від'ємних.цілих чисел -1, -2, -3.         

Сума двох цілих чисел т і п є цілим числом.

Якщо т, п будь-які цілі числа, то існує єдине ціле число х, яке задовольняє рівняння т+х=п. х — різниця чисел т і п.

Добуток двох цілих чисел є цілим числом х=аb.

Множина цілих чисел є кільцем, тобто у множині цілих чисел виконуються три дії: додавання, віднімання та множення.

 

Найбільшим спільним дільником НСД(а, b) =с називається найбільше натуральне число с, на яке діляться два дані числа а і b без остачі.

Приклади: НСД(6, 3)=3;  НСД(8, 4)=4;   НСД(22, 11)=11;  НСД(12, 18)=6;  НСД (1320, 408)=24.

 

Взаємно прості числа

Два числа називаються взаємно простими, якщо вони не мають жодних спільних дільників, крім 1 і -1.

Приклади. 7 та 2 - це взаєсно прості два числа, бо у  них тільки два спільні дільника -1 та 1.

Можна  довести, що числа 2m-1 і 2m+1 взаємно прості.

Довести, що якщо число n ділиться на кожне з двох взаємно простих чисел  а і b, то воно ділиться на їх добуток аb.

 

 

Найбільший спільний дільник записуємо так:  НСД (а, b)=с,

і він має властивості:

Якщо а:b  ділиться націло , де a та b натуральні числа, то  НСД(а, b)=b

Якщо а=bg+r, то НСД(а, b)= НСД(b, r).

Якщо m довільне натуральне число, то НСД(аm, bm)= m*НСД(а, b).

Якщо НСД(а, b)=с, то НСД( a/c, b/c)=1.

 НСК[а, b] ділиться на НСД(а, b).

Якщо m ділиться на кожне з двох чисел а і b, то m ділиться і на їх найменше спільне кратне НСК[а, b].

Чому може дорівнювати найменше спільне кратне трьох чисел n-1, n, n+1 (де n — натуральне число)?

Довести, що частки від ділення найменшого спільного кратного на дані числа є взаємно прості.

Найбільший дільник для взаємно простих чисел дорівнює 1.

Якщо НСД(а,b)=1, то НСД(ас, b)= НСД(b, с).

Якщо НСД(а, b)=1 і  ас/b, то с/b.

Якщо НСД(а,b)=1, с/а i с/b, то с=аb.

 

Алгоритм НСД(а,b) мовою програмування Python3

print('Алгоритм  пошуку НСД  та НСК)

m=int(input('Введіть  з клавіатури '))

print('Пошук найбільшого спільного ділка для двох чисел ',a,' i ',b)

while a*b>0:

      if a>b:

          a=(a%b); print('остача a%b=',a,'%',b,'=', a);

      else:

          b=(b%a); print('остача b%a= ',b,'%',a,'=', b);

d=a+b;  

print('Найбільший спільний дільник = НСД(',n,';',m,')=d=',a,'+',b,'=d=', d);

print('Найменше спільне кратне= НСK(',n,';',m,')=n*m//d=k=',a,'*',b,'=', n*m//d);

 

 

Завдання для написання алгоритмів мовою програмування Python3

1)     Використовуючи цифри 1, 2, 3, 4 і 6, записати множину тризначних парних чисел (без повторення цифр), які діляться на 9.

2)     За допомогою цифр 1, 2, 3, 4 і 6 записати множину тризначних чисел (без повторення цифр), які діляться на 14.

3)     За допомогою цифр 1, 2, 3, 4, 5 і 6 записати множину тризначних чисел (без повторення цифр), які діляться на 22.

4)     За допомогою цифр 1, 2, 3, 4, 5 і 6 записати множину тризначних чисел (без повторення цифр), які діляться на 26.

5)     За допомогою цифр 1, 2, 3 і 6 записати множину двозначних чисел (без повторення цифр), які діляться на 18.

6)     Записати множину кількох багатоцифрових чисел, з яких кожне ділилося б на 36.

7)     У чотирицифровому числі, кратному 9, на місці тисяч стоїть цифра 3 і на місці сотень цифра 6. Знайти множину чисел.

8)     Написати множину кількох трицифрових чисел (без повторення цифр), які при діленні на 9 давали б остачу 2, 5, 7.

9)     За допомогою цифр 3, 4, 5, 6 записати множини чисел, які діляться на 24, 36, 21, 33.

10)  Яке найменше число треба відняти від 839756, щоб остача поділилася на 90?

11)             Яке найменше число треба відняти від 368457, щоб остача поділилася на 7?

Теорема про остачі: Якщо остача від ділення числа а на b дорівнює с, то остача від ділення числа аn на b дорівнює остачі від ділення числа сn на b.

Приклад 1. 13 : 5 = 2 (ост. 3), тоді 13n :5 дає таку саму остачу, як і 3n: 5.

Розв'язання

1) n = 2, 132:5 = 169:5 = 33 (ост. 4) і  32:5 = 9:5 = 1 (ост. 4);

2) n = 3, 133:5 = 2197:5 = 439 (ост. 2) і 33:5 = 27:5 = 5 (ост. 2);

3) n = 4, 134:5 = 28 561:5 = 5712 (ост. 1) і 34:5 = 81:5 = 16(ост. 1);

4) n = 5, 135:5 = 371 293:5 = 74 258 (ост. 3) і 35:5 = 243:5 = 48 (ост. 3).

Приклад 2. Знайти остачу від ділення числа 2222n на 7.

Розв'язання

1)            Знайдемо остачу від ділення 2222 на 7:  2222 : 7 = 317 (ост. 3).

2)            Остача від ділення 22224 на 7 така сама, як остача від ділення 34 на 7, тобто 4, бо

34:7 = 81:7 = 11 (ост. 4).

 Відповідь. 4.

II.             Розв'язування вправ.

Задача 1. Знайти остачу від ділення числа 22225555  на 7.

Розв'язання

1) Знайдемо остачу від ділення 2222 на 7: 2222 : 7 = 317 (ост. 3).

 

Остача від ділення 22225555 на 7 така сама, як остача від ділення 35555 на 7.

Знайдемо остачі від ділення 3n на 7 для різних значень n:

n=1, З':7 = 3:7 = 0 (ост. 3);

n = 2, 32:7 = 9:7 = 1 (ост. 2);

n = 3, 33:7 = 27:7 = 3 (ост. 6);

n = 4, 34:7 = 81:7 = 11 (ост. 4);

n = 5, 35:7 = 243:7 = 34 (ост. 5);

n = 6, 36:7 = 729:7 = 104 (ост. 1);

 n = 7, 37:7 = 2187:7 = 312 (ост. 3).

Цикл дорівнює 6.

4)            Знайдемо кількість повних циклів у числі 5555.

5555 : 6 = 925 (ост. 5).

925 повних циклів відкидаємо.

Отже, ос­тача відділення 35555 на 7 така сама, як від ділення 35 на 7, тобто 5.

Отже, і остача від ділення 22225555 на 7 до­рівнює 5.

Відповідь. 5.

Задача 2. Знайти остачу від ділення числа 55552222 на 7.

Розв'язання

1)            Знайдемо остачу від ділення 5555 на 7:

5555 : 7 = 793 (ост. 4).

Остача від ділення 55552222 на 7 така сама, як остача від ділення 42222 на 7.

Знайдемо остачі від ділення 4" на 7 для різних значень л:

n = 1, 4':7 = 4:7 = 0 (ост. 4);

n = 2, 42:7 = 16:7 = 2 (ост. 2);

n = 3, 43:7 = 64:7 = 9 (ост.1);

n = 4, 44:7 = 256:7 = 36 (ост. 4).

Цикл дорівнює 3.

4)            Знайдемо кількість повних циклів у числі 2222.

2222 : 3 = 740 (ост. 2).

740 повних циклів відкидаємо.

Отже, ос­тача від ділення 42222 на 7 така сама, як і від ділення 42 на 7, тобто 2.

Отже, і остача відділення 55552222 на 7 до­рівнює 2.

Відповідь. 2.

Задача 3. Довести, що (22225555+55552222) ділиться  на 7 без остачі.

Доведення.

Оскільки 22225555 при діленні на 7 дає оста­чу 5, а 55552222 при діленні на 7 дає остачу 2, а сума цих остач 5+2 = 7 ділиться на 7, то (22225555 +55552222) ділиться на 7 без остачі, що і треба було довести.

Задача 4. Знайти остачу від ділення числа 7 2003 на 10.

Розв'язання

1) Знайдемо остачу від ділення 7 на 10: 7: 10 = 0 (ост. 7).

2)            Знайдемо остачі від ділення 7 n  на 10 для різних значень п:

n = 1, 7':10 = 7:10 = 0 (ост. 7);

 n = 2, 72:10 = 49:10 = 4 (ост. 9);

 n = 3, 73:10 = 343:10 = 34 (ост. 3);

n = 4, 74:10 = 2401:10 = 240'(ост. 1);

n = 5, 75 : 10 = 16 807:10 = 1680 (ост. 7).

Цикл дорівнює 4.

3)            Знайдемо кількість повних циклів у числі 2003.

2003 : 4 = 500 (ост. 3).

4)            500 повних циклів відкидаємо. Отже, ос­тача від ділення 72003 на 10 така сама, як остача
від ділення 73 на 10 , тобто 3.

Відповідь. 3.

5. Якою цифрою закінчується число 72003 ?

Розв'язання.  

Остача відділення числа 7200З на 10 є остан­ньою цифрою цього числа. Тобто число 72003 закінчується цифрою 3.

 

 

Знаходження НСК(m, n) та НСД(а, b).

 

Розподілити  20 тверджень на три групи:

·         перша група тверджень, які завжди правильні на множині натуральних чисел;

·         друга група тверджень, які завжди неправильні на множині натуральних чисел;

·         третя група тверджень, які не входять до першої та до другої групи.

 

1.       Усі натуральні числа, які діляться на 30 можна подати у вигляді 2∙15n або 2∙3∙5n, де  n  − натуральне число.

2.       Найменше натуральне число т, яке ділиться на кожне з чисел а і b без остачі, тобто найменше спільне кратне цих чисел (НСК(а, b)), завжди можна знайти таким чином: розкласти кожне число на прості множники, потім, взявши розклад одного із них, помножити його на відсутні прості множники,  які зустрічаються в розкладі другого числа.

3.       Найбільше натуральне число т, на  яке ділиться на кожне з чисел а і b без остачі, тобто найбільший спільний дільник цих чисел (НСД(а, b)), завжди можна знайти таким чином: розкласти кожне число на прості множники, потім, виписати з двох  розкладів спільні множники, до речі,  кожний зі спільних простих множників треба взяти з найменшим показником, який зустрічається в обох розкладах, і помножити.

4.       Добуток чисел а і b дорівнює добуткові їх найбільшого спільного дільника на найменше спільне кратне аb= НСК(а, b)∙НСД(а, b)

5.       Найменше спільне кратне двох чисел дорівнює 3024, а їх найбільший спільний дільник 4. Друге число має лише три дільники, якщо перше дорівнює 28.

6.       Найменше спільне кратне трьох чисел дорівнює 5544.  Існує декілька третіх чисел, якщо перші два дорівнюють 72 і 168.

7.       Два перші числа дорівнюють 165 і 156. Множину третіх чисел складають тільки непарні числа, якщо найменше спільне кратне всіх трьох чисел дорівнює 25740.

8.       Найменше натуральне число т, яке ділиться на кожне з чисел а і b, тобто НСК(а, b) ділиться на їхній найбільший спільний дільник, тобто ділиться на НСД(а, b).

9.       Якщо т ділиться на кожне з двох чисел а і b, то т ділиться і на їх найменше спільне кратне, тобто НСК(а, b).

10.   Найменше спільне кратне трьох чисел n-1, n, n+1 (де n — натуральне число) це добуток цих чисел.

11.   Частки від ділення найменшого спільного кратного  на дані числа є взаємно прості.

12.   Якщо число 3х+2у ділиться на 19, де х і у натуральні числа, то 8х-у не ділиться на 19.

13.         Найменше спільне кратне двох чисел 5040, а їх найбільший  спільний дільник 48. Множину таких пар чисел складають лише парні числа.

14.   Найменше спільне кратне двох чисел 462, а їх найбільший спільний дільник 21. Множину таких пар чисел складають лише непарні числа.

15.         Всього існує дві  пари чисел, для яких  добуток дорівнює 840, а їх найбільший спільний дільник дорівнює 2.

16.         Сума двох чисел 168, а їх найбільший спільний дільник 24. Множину таких пар чисел складають лише числа різної парності, тобто одне з них парне число, а друге – непарне число.

17.         Сума двох чисел 667, а їх найбільший спільний дільник 29. Множину таких пар чисел складають лише числа різної парності, тобто одне з них парне число, а друге – непарне число.

18.   З космодрому одночасно запустили три супутники Землі. Перший має період обертання 1 год. 20 хв., другий — 1 год. 45 хв., а третій — 2 год. 20 хв. Тоді через 28 год − це найближчий час, коли вони знову будуть всі три разом над космодромом?

19.   Три автобуси відправляються з автостанції о 7 год. ранку в трьох напрямах і повертаються: перший через 2 год. 15 хв. і знову відправляється через 15 хв.; другий — через 1  год. 45 хв. і знову відправляється через 15 хв.; третій — через 1  год. 30 хв. і знову відправляється через 10 хв. Тоді 12.00 −  це найближчий час, коли вони знову одночасно виїдуть з автостанції?

 

Теорема про остачі може використовуватися під час розв'язування задач двох вище розгля­нутих типів.

Завдання для самостійного програмування

1.Знайти остачу від ділення числа 20032004 на 3, створити алгоритм для загального випадку: Nm на 3.

2.Якою цифрою закінчується 192004?   и алгоритм для загального випадку: 19m

 

Практична частина

 

 Алгоритми пошуку НСД та НСК, розгалуження та повторення

Завдання 1. Створити, реалізувати, протестувати алгоритм знаходження пошуку найбільшого числа та найменшого  числа за відомою піврізницею та півсуммою двох випадкових чисел.

Реалізація.

print('Алгоритм 1 пошуку  найбільшого числа та найменшого числа за піврізницею та за півсумою двох чисел ')

m=int(input('Введіть півсуму з клавіатури'))

n=int(input('Введіть піврізницю з клавіатури'))

x=m+n;  y= m-n

print('Відповідь: 1-e число x=', x )

print('Відповідь: 2-e число', y)

if x>y:

    print('max=', x , 'min=', y)

elif y>x:

    print('max=',y, 'min=', x)

 

Протестувати  алгоритм для таких чисел: 1)піврізниця: -2,  півсума: 22; 

2) піврізниця: -3,  півсума:-8;    3) піврізниця: 0,  півсума:-8;   4) піврізниця: 9, півсума: 9

 

Завдання 2. Створити, реалізувати, протестувати алгоритм знаходження пошуку найбільшого числа та найменшого  числа за відомою піврізницею та півсуммою двох випадкових чисел.

Реалізація.

print('Алгоритм 2 пошуку  найбільшого числа та найменшого числа за півДОБУТКОМ та за півЧАСТКОЮ двох ДОДАТНИХ чисел ')

m=float(input('Введіть півДОБУТok з клавіатури'))

n=float(input('Введіть півЧАСТКy з клавіатури'))

x=2*(m*n)**0.5;  y= (m/n)**0.5

print('Відповідь: 1-e ДОДАТНЕ число x=', x )

print('Відповідь: 2-e ДОДАТНЕ число', y)

if x>y:

    print('max=', x , 'min=', y)

elif y>x:

    print('max=',y, 'min=', x)

 

Протестувати  алгоритм для таких четвірок чисел: 1) півдобуток: 2, півчастка: 22;

  2) півдобуток:36, півчастка:8;    3) півдобуток: 0,  півчастка6 8;   4) півдобуток:1, півчастка: 1.

 

 Завдання 3. Одинокий шаховий король знаходиться на шаховій дошці розміром NxN. Як і всі шахові королі він може перейти за один хід на сусідню клітинку. Скільки можливих варіантів ходу є короля? Програма  читає з пристрою стандартного введення 3 натуральних числа  N, X,Y.  Кожне з чисел не більше 50, числа розділені пропусками (N ≥X,Y) N- розмір сторони дошки, X,Y – номер стрічки та стовпця клітинки з королем. Програма виводить єдине число – шукану величину.

 

Реалізація.

 

print('Алгоритм  3пошуку кількості ходів короля на шахівниці розміром nxn ')

n=int(input('Введіть 1-е додатне число з клавіатури n='))

x=int(input('Введіть 2-е додатне число з клавіатури x='))

y=int(input('Введіть 3-е додатне число з клавіатури y='))

if (((x==1) and (y==1)) or ((x==n) and (y==1)) or ((x==1) and (y==n)) or ((x==n) and (y==n))):

      print(' Кількість ходів фігури король на шахівниці r:=',3)

elif ((x==1) or (x==n) or (y==n) or (y==1)):

      print(' Кількість ходів фігури король на шахівниці r:=',5)

else:

     print(' Кількість ходів фігури король на шахівниці r:=',8)

if n==1:

    print(' Кількість ходів фігури король на шахівниці r:=',0)

 

Завдання 4. Створити, реалізувати, протестувати алгоритм знаходження пошуку півтретини різниці та півчверті суми найбільшого числа та найменшого  числа із чотирьох введених з клавіатури цілих чисел.

Реалізація.

print('Алгоритм 4 пошуку піврізниці найбільшого числа та найменшого числа із чотирьох цілих чисел ')

v1=int(input('Введіть 1-е число з клавіатури'));    v2=int(input('Введіть 2-е число з клавіатури'))

v3=int(input('Введіть 3-е число з клавіатури'));   v4=int(input('Введіть 4-е число з клавіатури'))

print('Відповідь: найбільше число')

if ((v1>v2) and (v1>v3) and  (v1>v4)):

    print('max=', v1)

elif ((v2>v3) and (v2>v4)):

    print('max=',v2)

elif v3>v4:

    print('max=',v3)

else:

    print('max=', v4)

print('Відповідь: найменше число')

if ((v1<v2) and (v1<v3) and  (v1<v4)):

    print('min=', v1)

elif ((v2<v3) and (v2<v4)):

    print('min=',v2)

elif v3<v4:

    print('min=',v3)

else:

    print('min=', v4)

m=max(v1,v2,v3,v4); n=min(v1,v2,v3,v4);

print('Відповідь: піврізниця найбільшого та найменшого чисел с= (max-min)/6=', (m-n)/6)

print('Відповідь: півcума найбільшого та найменшого чисел с= (max+min)/8=', (m+n)/8)

 

Протестувати  алгоритм для таких четвірок чисел: 1) 2, 2, 2, 2   2) -3,8, -1, 9    3)-9, -8, 7, 7  4) -3, -5, -8, -1.

 

   Завдання 5. В цукерню  «Солодка мрія» завезли  цукерок і тістечок. Продавці бажають продати всі свої товари без залишку. Прийшов оптовий покупець, який закуповує подарунки для дітей на свято. Але, щоб нікому з дітей не було образливо, подарунки мають бути однаковими, тобто в кожному подарунку має бути однакова кількість цукерок і однакова кількість тістечок. Скільки цукерок і скільки тістечок  повинен покласти продавець в кожен подарунок, щоб кількість подарунків була максимальною? Програма читає з пристрою стандартного введення  числа m та n  кожне з яких не перевищує 50000. Програма виводить через пропуск   кількість цукерок і тістечок в кожному подарунку.

Реалізація.

print('Алгоритм 5 пошуку кількості цукерок і тістечок у кожному подарунку')

m=int(input('Введіть  з клавіатури число цукерок '))

n=int(input('Введіть з клавіатури число тістечок')) 

a=n; b=m;

print('Пошук найбільшого спільного дільника для двох чисел ',a,' i ',b)

while a*b>0:

      if a>b:

          a=(a%b); print('остача a%b=',a,'%',b,'=', a);

      else:

          b=(b%a); print('остача b%a= ',b,'%',a,'=', b);

d=a+b;  

print('Найбільший спільний дільник = НСД(',n,';',m,')=d=',a,'+',b,'=d=', d);

print('Найменше спільне кратне= НСK(',n,';',m,')=n*m//d=k=',a,'*',b,'=', n*m//d);

print('Пошук двох часток від ділення даних чисел n i m  на їхнє  НСД'  )

kn=(n//d); km=(m//d)

print('Кількість цукерок у одному подарунку kn=',n,'//',d,'=',kn)

print('Кількість тістечок у одному подарунку: km=',m,'//',d,'=',km)

 

Протестувати  алгоритм для таких четвірок чисел: 1) цукерок: 2, тістечок: 22;

  2)цукерок:36, тістечок: 8;    3) цукерок: 0,  тістечок 8;   4) цукерок:1, тістечок: 1.  

 Завдання 6. Дано піфагорове рівняння x2+ y2= z2, де х,y,z - невідомі цілі змінні. Створити та реалізувати алгоритм мовою програмування Python  в середовищі програмування Thonny для знаходження  розв’язків для цього рівняння  на множині цілих чисел.

Реалізація.

import random

print("це алгоритм пошуку розвязків піфагорового рівняння: х*х+у*у=z*z")

for i in range(1,5):

    for j in range(1,5):

        print('існує ще один розвязок піфагорового рівняння, вигляду (x,y,z)=')

        print('x=',abs(j*j-i*i), 'y=',2*i*j, 'z=', j*j+i*i)

 

Протестувати даний алгоритм для такого діапазону конкретних чисел:

Тест1. Якщо range(1,50)


Результати виконання практичної частина надіслати на електронну адресу учителя: vinnser@gmail.com

  



Завдання на кмітливість. Опрацювання числових даних.









пʼятницю, 19 листопада 2021 р.

22.11.2021 - 28.11.2021 Алгоритми розгалуження з числовими типами даних

 

 

 22.11.2021 - 28.11.2021

Тема: Алгоритми розгалуження з числовими типами даних мовою Python3

Теоретична частина

Як аналізувати властивості степенів?

 

       Таблиця лишків за модулем 10 та 100 для натуральних степенів mn

 

 

Отже, можливі тільки такі степеневі двоцифрові лишки  для степенів цифр: 00, 01,  02, 03, 04, 05, 06, 07, 08, 09, 12,16, 21,23, 24, 25, 27, 28, 29, 32, 36, 41, 43, 44, 47, 48, 49, 52,56, 61, 63, 64, 67, 68, 69, 72,76, 81,83,  84, 88, 89, 92, 96.

 

 

 

Основа степеня

2

3

4

5

6

7

8

9

Довжина  двоцифрового періоду останніх цифр

по модулю 100

20(поч. з 04)

20

10

1

6

4

20

10

Довжина  одноцифрового періоду останньої цифри

4

4

2

1

1

4

4

2

Критерій парності двох останніх цифр

лишку по модулю 100

k & 2n

2k & 2n+1

k & 2n

2k & 2n+1

2k+1&2n

2k & 2n+1

k & 2n

2k & 2n+1

m1

2

3

4

5

6

7

8

9

m2

4

9

16

25

36

49

64

81

m3

8

27

64

25

16

43

12

29

m4

16

81

56

25

96

1

96

61

m5

32

43

24

25

76

7

68

49

m6

64

29

96

25

56

49

44

41

m7

28

87

84

25

36

43

52

69

m8

56

61

36

25

16

1

16

21

m9

12

83

44

25

96

7

28

89

m10

24

49

76

25

76

49

24

1

m11

48

47

4

25

56

43

92

9

m12

96

41

16

25

36

1

36

81

m13

92

23

64

25

16

7

88

29

m14

84

69

56

25

96

49

4

61

m15

68

7

24

25

76

43

32

49

m16

36

21

96

25

56

1

56

41

m17

72

63

84

25

36

7

48

69

m18

44

89

36

25

16

49

84

21

m19

88

67

44

25

96

43

72

89

m20

76

1

76

25

76

1

76

1

m21

52

3

4

25

56

7

8

9

 

 

 

 

 

 

 

 

 

ТЕОРЕМИ  ПРО ОСТАЧІ ПРИ ДІЛЕННІ СТЕПЕНІВ НА НАТУРАЛЬНІ ЧИСЛА.

 

Варто мати на увазі, що квадрати цілих чисел при діленні на 3 або 4 можуть давати остачі лише 0 та 1, куби при діленні на 9 - лише 0,  1 та 8. (Перевірте це са­мостійно). Подібні факти в поєднанні з вдалим вибором числа, остачі при діленні на яке ми розглядаємо, часто допомагають розв'язуванню. З допомогою такого вдалого вибору можна доводити, що число не є простим, можна розв'язувати рівняння в цілих числах.

 

Квадратні лишки

Остачі при діленні квадратів на натуральні числа.

 

Якщо квадрат натурального числа, тобто,  m2 = mm, поділити на:

2, то отримаємо остачі 0, 1;

3, то отримаємо остачі 0, 1

4, то отримаємо остачі 0, 1;

5, то отримаємо остачі 0, 1, 4;

6, то отримаємо остачі 0, 1, 3, 4;

7, то отримаємо остачі  0, 1, 2, 4;

8, то отримаємо остачі  0, 1, 4;

9, то отримаємо остачі 0, 1, 4, 7;

10, то отримаємо остачі 0, 1, 4, 5, 6, 9;

11, то отримаємо остачі 0, 1, 3, 4, 5, 9;

12, то отримаємо остачі 0, 1, 4, 9;

13, то отримаємо остачі 0, 1, 3, 4, 9, 10, 12;

14, то отримаємо остачі 0, 1, 2, 4, 8, 9;

15, то отримаємо остачі 0, 1,4, 6,  9, 10;

16, то отримаємо остачі 0, 1, 4, 9;

17, то отримаємо остачі 0, 1, 4, 8, 9,15.

 

Кубічні лишки

Остачі при діленні кубів на натуральні числа.

 

Якщо куб натурального числа, тобто,  m3 = mmm, поділити на:

2, то отримаємо остачі 0, 1;

3, то отримаємо остачі 0, 1, 2;

4, то отримаємо остачі 0, 1, 3;

5, то отримаємо остачі 0, 1, 2, 3, 4;

6, то отримаємо остачі 0, 1, 2, 3, 4, 5;

7, то отримаємо остачі  0, 1, 6;

8, то отримаємо остачі  0, 1, 3, 5, 7;

9, то отримаємо остачі  0, 1, 8;

10, то отримаємо остачі 0, 1, 2, 3, 4, 5; 6; 7; 8; 9

Таблиця остач при діленні кубів на цифри

 

1

2

3

4

5

6

7

8

9

1

0

1

1

1

1

1

1

1

1

23

0

0

2

0

3

2

1

0

8

33

0

1

0

3

2

3

6

3

0

43

0

0

1

0

4

4

1

0

1

53

0

1

2

1

0

5

6

5

8

63

0

0

0

0

1

0

6

0

0

73

0

1

1

3

3

1

0

7

1

83

0

0

2

0

2

2

1

0

8

93

0

1

0

1

0

3

1

1

0

 

Четвіркові лишки

Остачі при діленні четвертих степенів на натуральні числа.

 

Якщо четверту степінь натурального числа, тобто,  m4 = mmmm, поділити на:

2, то отримаємо остачі 0, 1;

3, то отримаємо остачі 0, 1

4, то отримаємо остачі 0, 1;

5, то отримаємо остачі 0, 1;

6, то отримаємо остачі 0, 1, 3, 4;

7, то отримаємо остачі  0, 1, 2, 4;

8, то отримаємо остачі  0, 1;

9, то отримаємо остачі 0, 1, 4, 7;

10, то отримаємо остачі 0, 1, 5, 6;

 

П’ятіркові лишки

Остачі при діленні п’ятих степенів на натуральні числа.

 

Якщо п’яту степінь натурального числа, тобто,  m5 = mmmmm, поділити на:

2, то отримаємо остачі 0, 1;

3, то отримаємо остачі 0, 1, 2;

4, то отримаємо остачі 0, 1, 3;

5, то отримаємо остачі 0, 1, 2, 3, 4;

6, то отримаємо остачі 0, 1, 2, 3, 4, 5;

7, то отримаємо остачі  0, 1, 2, 3, 4, 5, 6;

8, то отримаємо остачі  0, 1, 3, 5, 7;

9, то отримаємо остачі  0, 1, 2, 4, 5, 7, 8;

10, то отримаємо остачі 0, 1, 2, 3, 4, 5; 6; 7; 8; 9.

 

 

Практична частина.

Завдання 1. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 4k , k > 10000.

Математична модель завдання 1:  1)41 має останню цифру 4.  2)42 має останню цифру 6.  3)43 має останню цифру 4. 4) 44 має останню цифру 6.  Отже, якщо  степінь  k =2m - парне число, то 4k має останню цифру 6.  Якщо  степінь  k=2m-1 - непарне число, то 4k має останню цифру 4. 

Реалізація.

import random;  a=random.randint(44,444444444)

print('Алгоритм  1 пошуку останньої цифри у  числа вигляду 4^a  без його обчислення')

if a%2==0:

    print(' 6 - це остання цифра у  числа вигляду 4^',a)

elif a%2==1:

    print(' 4 - це остання цифра у  числа вигляду 4^',a)

 

Завдання 2. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 9k , де k > 10000.

Математична модель завдання 2:  1)91 має останню цифру 9.  2)92 має останню цифру 1.  3)93 має останню цифру 9. 4) 94 має останню цифру 1.  Отже, якщо  степінь  k=2m - парне число, то 9k має останню цифру 1.  Якщо  степінь  k=2m-1 - непарне число, то 9k має останню цифру 9. 

Реалізація.

import random; b=random.randint(99,99999999)

print('Алгоритм  2 пошуку останньої цифри у  числа вигляду 9^b  без його обчислення')

if b%2==0:

    print(' 1 - це остання цифра у  числа вигляду 9^',b)

elif b%2==1:

    print(' 9 - це остання цифра у  числа вигляду 9^',b)

 

Завдання 3. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 3k , де k > 10000.

Математична модель завдання 3:  1)31 має останню цифру 3.  2)32 має останню цифру 9.  3)33 має останню цифру 7. 4) 34 має останню цифру 1. Продовжуючи далі, помічаємо, що виконується  закономірність повторення останніх цифр, тобто циклічність  або періодичність через кожні чотири кроки. А саме, якщо  степінь  k=4m+1 - непарне число, то 3k має останню цифру 3.  Якщо  степінь  k=4m+2 - парне число, то 3k має останню цифру 9.   Якщо  степінь  k=4m+3 - непарне число, то 3k має останню цифру 7.  Якщо  степінь  k=4m+0- парне число, то 3k має останню цифру 1. 

Реалізація.

import random; n=random.randint(33,33333333)

print('Алгоритм 3 пошуку останньої цифри у  числа вигляду 3^n без його обчислення')

if n%4==0:

    print(' 1 - це остання цифра у  числа вигляду 3^',n)

elif n%4==1:

    print(' 3 - це остання цифра у  числа вигляду 3^',n)

elif n%4==2:

    print(' 9 - це остання цифра у  числа вигляду 3^',n)

elif n%4==3:

    print(' 7 - це остання цифра у  числа вигляду 3^',n)

 

Завдання 4. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 7k , де k > 10000.

Математична модель завдання 4:  1)71 має останню цифру 7.  2)72 має останню цифру 9.  3)73 має останню цифру 3. 4) 74 має останню цифру 1. Продовжуючи далі, помічаємо, що виконується  закономірність повторення останніх цифр, тобто циклічність  або періодичність через кожні чотири кроки. А саме, якщо  степінь  k=4m+1 - непарне число, то 7k має останню цифру 7.  Якщо  степінь  k=4m+2 - парне число, то 7k має останню цифру 9.   Якщо  степінь  k=4m+3 - непарне число, то 7k має останню цифру 3.  Якщо  степінь  k=4m+0- парне число, то 7k має останню цифру 1. 

Реалізація.

import random; k=random.randint(777,77777777)

print('Алгоритм 4 пошуку останньої цифри у  числа вигляду 7^k без його обчислення')

if k%4==0:

    print(' 1 - це остання цифра у  числа вигляду 7^',k)

elif k%4==1:

    print(' 7 - це остання цифра у  числа вигляду 7^',k)

elif k%4==2:

    print(' 9 - це остання цифра у  числа вигляду 7^',k)

elif k%4==3:

    print(' 3 - це остання цифра у  числа вигляду 7^',k)

 

Завдання 5. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 2k , де k > 10000.

Математична модель завдання 5:  1)21 має останню цифру 2.  2)22 має останню цифру 4.  3)23 має останню цифру 8. 4) 24 має останню цифру 6. Продовжуючи далі, помічаємо, що виконується  закономірність повторення останніх цифр, тобто циклічність  або періодичність через кожні чотири кроки. А саме, якщо  степінь  k=4m+1 - непарне число, то 2k має останню цифру 2.  Якщо  степінь  k=4m+2 - парне число, то 2k має останню цифру 4.   Якщо  степінь  k=4m+3 - непарне число, то 2k має останню цифру 8.  Якщо  степінь  k=4m+0- парне число, то 2k має останню цифру 6. 

Реалізація.

import random; m=random.randint(222222,222222222)

print('Алгоритм 5  пошуку останньої цифри у  числа вигляду 2^m  без його обчислення')

if m%4==0:

    print(' 1 - це остання цифра у  числа вигляду 2^',m)

elif m%4==1:

    print(' 2 - це остання цифра у  числа вигляду 2^',m)

elif m%4==2:

    print(' 4 - це остання цифра у  числа вигляду 2^',m)

elif m%4==3:

    print(' 6 - це остання цифра у  числа вигляду 2^',m)

 

Завдання 6. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження останньої цифри  у числа вигляду 8k , де k > 10000.

Математична модель завдання 6:  1)81 має останню цифру 8.  2)82 має останню цифру 4.  3)83 має останню цифру 2. 4) 84 має останню цифру 6. Продовжуючи далі, помічаємо, що виконується  закономірність повторення останніх цифр, тобто циклічність  або періодичність через кожні чотири кроки. А саме, якщо  степінь  k=4m+1 - непарне число, то 8k має останню цифру 8.  Якщо  степінь  k=4m+2 - парне число, то 8k має останню цифру 4.   Якщо  степінь  k=4m+3 - непарне число, то 8k має останню цифру 2.  Якщо  степінь  k=4m+0- парне число, то 8k має останню цифру 6. 

Реалізація.

import random; p=random.randint(888,8888888)

print('Алгоритм 6 пошуку останньої цифри у  числа вигляду 8^p  без його обчислення')

if p%4==0:

    print(' 6 - це остання цифра у  числа вигляду 8^',p)

elif p%4==1:

    print(' 8 - це остання цифра у  числа вигляду 8^',p)

elif p%4==2:

    print(' 4 - це остання цифра у  числа вигляду 8^',p)

elif p%4==3:

    print(' 2 - це остання цифра у  числа вигляду 8^',p)

 

Завдання 7. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження розкладу числа 170 на суму таких двох додатних цілих, що одне з них  ділиться на 11, а друге на 13 націло.

Математична модель завдання 7:  Маємо рівняння з двома невідомими: 170=11х+13y, де х, у - натуральні числа.

Реалізація.

print('Алгоритм 7 пошуку розкладу 170 на два доданки, які мають властивості подільності на 11 та 13')

print('Розв*язки рівняння з двома невідомими: 170=11х+13y, де х, у - натуральні числа.')

for x in range(1,15):

    for y in range(1,13):

        if 11*x+13*y==170:

            print('x= ',x)

            print('y= ',y)

            print('11*',x, '=',11*x,'- це перший доданок, що ділиться на 11 ')

            print('13*',y, '=',13*y,'- це другий доданок, що ділиться на 13 ')

            print(13*y,'+',11*x, '=',11*x+13*y)

 

 

 

Алгоритми оптимізації з фінансовими даними на Python3

 

Завдання 7. На трасі 800 метрів треба прокласти газові труби. На складі є труби довжиною 11 метрів та 13 метрів.  Як найекономніше використати труби, якщо ціна 11-метровки=8000 гривень, а ціна 13-метровки 10000 гривень? Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження розкладу числа 800 на суму таких двох додатних цілих, що одне з них  ділиться на 11, а друге на 13 націло.

Математична модель завдання 1:  Маємо рівняння з двома невідомими: 800=11х+13y, де х, у - натуральні числа.

Реалізація.

print('Алгоритм 8 пошуку розкладу 800 на два доданки, які мають властивості подільності на 11 та 13')

m=0; n=0; Z=['None']*6

print('Алгоритм  8  пошуку  найекономнішого  розкладу 800 на два доданки')

print('Розвязки рівняння з двома невідомими: 800=11х+13y, де х, у - натуральні числа.')

print('Ціна труби: 11-метровки = 8000 грн, 13-метровки =10000 грн.')

for x in range(1,72):

    for y in range(1,61):

        if 11*x+13*y==800:

            Z[m]=8*x+10*y

            print('Z[',m,']= ',Z[m], 'тисяч гривень')

            m=m+1;   print('Кількість пар: m= ',m);  print('x= ',x);   print('y= ',y)

            print('11*',x, '=',11*x,'- це перший доданок, що ділиться на 11 ')

            print('13*',y, '=',13*y,'- це другий доданок, що ділиться на 13 ')

            print(13*y,'+',11*x, '=',11*x+13*y)

            print('******************************')

n=min(Z);   print('ЦІНАmin= ',n,' тисяч гривень')

n=max(Z);   print('ЦІНАmax= ',n,' тисяч гривень')

 

Завдання 9. На трасі 2100 метрів треба прокласти газові труби. На складі є труби довжиною 17 метрів та 23 метрів.  Як найекономніше використати труби, якщо ціна 17-метровки=18000 гривень, а ціна 23-метровки 25000 гривень? Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження розкладу числа 2100 на суму таких двох додатних цілих, що одне з них  ділиться на 17, а друге на 23 націло.

Математична модель завдання 2:  Маємо рівняння з двома невідомими: 2100=17х+23y, де х, у - натуральні числа.

Реалізація.

print('Алгоритм 9 пошуку розкладу 2100 на два доданки, які мають властивості подільності на 17 та 23')

m=0; n=0; Z=['None']*5

print('Алгоритм 9 пошуку розкладу 2100 на два доданки')

print('Розвязки рівняння з двома невідомими: 2100=17х+23y, де х, у - натуральні числа.')

print('Ціна труби: 17-метровки = 18000 грн, 23-метровки =25000 грн.')

for x in range(1,123):

    for y in range(1,91):

        if 17*x+23*y==2100:

            Z[m]=17*x+25*y

            print('Z[',m,']= ',Z[m], 'тисяч гривень')

            m=m+1;  print('Кількість пар: m= ',m);  print('x= ',x);   print('y= ',y)

            print('17*',x, '=',17*x,'- це перший доданок, що ділиться на 17 ')

            print('23*',y, '=',23*y,'- це другий доданок, що ділиться на 23 ')

            print(23*y,'+',17*x, '=',17*x+23*y,' метрів ')

            print('******************************')

n=min(Z);   print('ЦІНАmin= ',n,' тисяч гривень')

n=max(Z);   print('ЦІНАmax= ',n,' тисяч гривень')

 

Завдання 10. Автобаза може послати 30 машин для вивозу цукрових буряків на три приймальні пункти. На базі є дво-, три-, п’ятитонні машини. Скільки треба машин кожної тоннажності, щоб за кожну ходку вивозити 100 тон буряків?  Як найекономніше використати  машини, якщо ціна 2-тоннажки=18000 гривень, а ціна 3-тоннажки = 25000 гривень, ціна 5-тоннажки=30000? Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження розкладу числа 100 на суму таких трьох додатних цілих, що одне з них  ділиться на 2, а друге на 3, третє - на 5  націло.

Математична модель завдання 3:  Маємо рівняння з трьома невідомими: 100=2х+3y+5z, де х, у, z - натуральні числа, такі, що 0<x+y+z<31.

Реалізація.

print('Алгоритм 10’)

m=0; n=0; Z=['None']*9

print('Алгоритм  10  пошуку розкладу 100 на три доданки')

print('Розвязки рівняння з двома невідомими: 100=2х+3y+5z, де х, у, z - натуральні числа.')

print('Ціна труби: 2-тоннажки = 18000 грн, 3-тоннажки =25000 грн. 5-тоннажки =30000 грн.')

for x in range(0, 31):

    for y in range(0,31):

        for z in range(0,31):

            if (2*x+3*y+5*z==100)and(x+y+z==30):

                Z[m]=18*x+25*y+30*z

                print('Z[',m,']= ',Z[m], 'тисяч гривень')

                m=m+1

                print('Кількість трійок: m= ',m)

                print('x= ',x);   print('y= ',y);   print('z= ',z)

                print('2*',x, '=',2*x,'- це перший доданок, що ділиться на 2 ')

                print('3*',y, '=',3*y,'- це другий доданок, що ділиться на 3 ')

                print('5*',z, '=',5*z,'- це третій доданок, що ділиться на 5 ')

                print(3*y,'+',2*x, '+',5*z,'=',2*x+3*y+5*z,'тонн')

                print('******************************')

n=min(Z);   print('ЦІНАmin= ',n,' тисяч гривень')

n=max(Z);   print('ЦІНАmax= ',n,' тисяч гривень')

 

 

Завдання11. 26 банкірів витратили 88 млн.  гривень інвестицій. При чому кожен державний банкір видавав по 6 млн. гривень кредиту одній юридичній особі, кожен приватний банк видавав по 4 млн. гривень кредиту  одній юридичній особі, кожний іноземний банк видадавав по 2 млн. гривень кредиту одній юридичній особі. Скільки було банків кожного виду? Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для знаходження розкладу числа 88 на суму таких трьох додатних цілих, що одне з них  ділиться на 6, а друге на 4, третє - на 2  націло.

Математична модель завдання 4:  Маємо рівняння з трьома невідомими: 88=6х+4y+2z, де х, у, z - натуральні числа, такі, що 0<x+y+z<27.

Реалізація.

print('Алгоритм 11 пошуку розкладу 88 на три доданки')

m=0; n=0; Z=['None']*10

print('Алгоритм 11 пошуку розкладу 88 на три доданки')

print('Розвязки рівняння з двома невідомими: 100=6х+4y+2z, де х, у, z - натуральні числа.')

print('Ціна кредиту: 6-кускового = 40000 грн, 4-кускового =25000 грн. 2-куского =18000 грн.')

for x in range(0, 27):

    for y in range(0,27):

        for z in range(0,27):

            if (6*x+4*y+2*z==88)and(x+y+z==26):

                Z[m]=40*x+25*y+18*z

                print('Z[',m,']= ',Z[m], 'тисяч гривень')

                m=m+1; print('Кількість трійок: m= ',m); print('x= ',x); print('y= ',y); print('z= ',z)

                print('6*',x, '=',6*x,'- це перший доданок, що ділиться на 6 ')

                print('4*',y, '=',4*y,'- це другий доданок, що ділиться на 4 ')

                print('2*',z, '=',2*z,'- це третій доданок, що ділиться на 2 ')

                print(4*y,'+',6*x, '+',2*z,'=',6*x+4*y+2*z,'млн. гривень')

                print('******************************')

n=min(Z);   print('ЦІНАmin= ',n,' тисяч гривень')

n=max(Z);   print('ЦІНАmax= ',n,' тисяч гривень')

 

Завдання12. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для  статистичного аналізу вибірки випадкових цілих даних

 

Реалізація.

 

print('Алгоритм 12 для статистичного аналізу числових даних у списку')

print('****** Статистичний аналіз  числових даних в масиві Z   *****')

import random;  Y=[0.0000]*1; b=[0.0000]*14; Z=[0.0000]*1;

for i in range(13):

    Z.append(int(round((200.0 - random.random() * 1000.0), 4)))

print('Вхідний масив випадкових дійсних чисел: Z=', Z)

for i in range(0,14):

    b[13-i]=Z[i]

    print('Критерій парності елемента divmod(int(Z[',i,']) =',divmod(int(Z[i]),2))

print('Перестановка у зворотному порядку елементів для масиву Z має такий вигляд: b=',b)

b.sort(reverse = True)

print('Відсортований масив Z в порядку спадання елементів це B1=b.sort(reverse=True)=',b);

b.sort()

print('Відсортований масив Z в порядку  зростання елементів це B2=b.sort()=',b);

d=0; v=0; p=0; x1=-3; x2=3; sdod=0;svid=0;

for k in range(len(b)):

    if b[k]>0:

        d=d+1; sdod=sdod+b[k]

    if b[k]<0:

        v=v+1; svid=svid+b[k]

    if (b[k]>-30)and(b[k]<30):

        p=p+1

print('Кількість додатних елементів масиву Z d=',  d,' та їхня сума ', sdod)     

print('Кількість відємних елементів масиву Z v=',  v,' та їхня сума ', svid)

print('Діапазон розходження для сум додатних елементів та сум відємних елементів в масиві Z', sdod-svid)

print('Кількість елементів масиву Z, що належать проміжку [-30;30] p=',p);

gmin=100; fmax=0; etalon=5; u=1000; t=-9

for k in range(len(b)-1):

    if abs(b[k+1]-b[k])>fmax:

        fmax=abs(b[k+1]-b[k]); rmax=b[k]

    if abs(b[k+1]-b[k])<gmin:

        gmin=abs(b[k+1]-b[k]) ; rmin=b[k]

for k in range(len(b)):

    if abs(50-b[k])<u:

        u=abs(50-b[k])

        t=b[k]

print('Найбільша відстань між сусідніми елементами  масиву Z fmax=',  fmax, 'одиниць  для елемента rmax=',rmax)

print('Найменша відстань між сусідніми елементами  масиву Z gmin=',  gmin, ' одиниць  для елемента  rmin=',rmin)

print('Найближчий до числа 50 елемент масиву Z t=',  t); m1=0 

for k in range(1,len(b)-1):

    if abs(b[k+1]-b[k])+abs(b[k-1]-b[k])>m1:

        m1=abs(b[k+1]-b[k])+abs(b[k-1]-b[k]); rm1=b[k]

print('Елемент-ізгой, що має найбільшу відстань ',m1,' від обох сусідів в масиві Z rm1=', rm1); m2=100

for k in range(1,len(b)-1):

    if abs(b[k+1]-b[k])+abs(b[k-1]-b[k])<m2:

        m2=abs(b[k+1]-b[k])+abs(b[k-1]-b[k]); rm2=b[k]

print('Елемент-лідер, що має найменшу відстань',m2,' від обох сусідів в масиві Z rm2=',rm2)

 

 

 

Завдання13. Створити, реалізувати, протестувати  алгоритм мовою програмування Python3 в середовищі програмування Thonny для  статистичного аналізу вибірки випадкових  дробових  даних

 

Реалізація.

print('Алгоритм 13  для статистичного аналізу дробових  елементів у списку')

import random;  a=[0.0000]*1; b=[0.0000]*14; Z=[0.0000]*1;

for i in range(13):

    a.append(round((13.0 - random.random() * 22.0), 4))

    Z.append(round((200.0 - random.random() * 1000.0), 4))

print('Вхідний масив випадкових дійсних чисел: A=', a)

a.sort();  s=sum(a); l=len(a); m=min(a); n=max(a); c=s/l

print('Сума чисел масиву A  це s(A)=sum(a)=: ',s)

print('Найменший елемент масиву А це min(А)=m=', min(a))

print('Найбільший елемент масиву А це max(А)=n=', max(a))

print('Кількість чисел масиву A це k=len(a)=', len(a))

print('Довжина проміжку, в якому є елементів масиву h(A)=max(a)-min(a)=', abs(n-m))

print('Відсортований масив A в порядку зростання елементів: А=a.sort()=',a)

a.sort(reverse = True);  

print('Відсортований масив A в порядку спадання елементів: А=a.sort(reverse = True)=',a)

print('Середнє арфметичне чисел масиву A  це c(A)=sum(a)/len(a)=с=', c)

print('max = {0}; min = {1}'.format(a[-1], a[0]))

print('Середина числового проміжку  числових даних - це пiвсума 0.5*(max(A)+min(A))=: ', round(0.5*(a[-1]+a[0]), 2))

 

 

Результати виконаної практичної частини надіслати на електронну адресу: vinnser@gmail.com