Розв'язник вправ по дискретній математиці/Кодування/Модульна арифметика

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Розв'язник вправ по дискретній математиці. Кодування. Модульна арифметика

Розв'язання лінійних рівнянь

Лінійне рівняння записується у вигляді

axb(modn).

Розв'язання можна отримати безпосередньо діленням xba(modn) або за допомогою формули

xbaφ(n)1(modn), якщо НСД (a,n)=1, тобто взаємно прості.

Функція φ(n)функція Ейлера, яка дорівнює кількості натуральних чисел, не більших n і взаємно простих з ним.

Якщо НСД (a,n)=1, рівняння або має не єдиний розв'язок, або не має розв'язку. Як легко побачити, рівняння

2x3(mod4)

не має розв'язків на множині натуральних чисел.

Інше рівняння

4x6(mod22)

має два розв'язки

x=7,x=18.

Приклади

  • Розв'язати рівняння 3x=2(mod7).

Шаблон:Hider

Шаблон:Hider

  • Розв'язати рівняння 13x=2(mod53).

Шаблон:Hider Шаблон:Hider

Розв'язання квадратних рівнянь

Приклади

  • Розв'язати рівняння 2x25x+3=0(mod11).

Шаблон:Hider

  • Розв'язати рівняння 3x25x+4=0(mod13).

Шаблон:Hider

  • Розв'язати рівняння 3x22x+4=0(mod7).

Шаблон:Hider

Розв'язання лінійних систем

Приклади

  • Розв'яжіть систему: {8x4y=17x+4y=8 (mod 19)

Розв'яжіть систему: {7x3y=58x+5y=11 (mod 23) Шаблон:Hider

Написати програму

Для заданого невід'ємного цілого числа K, знайти довжину найменшого натурального числа N, такого, що N ділиться на K та N містить лише цифру 1. Програма повертає довжину N. Якщо такого N немає, поверніть -1.

  • Приклад. Для K = 1 відповідь 1.
  • Приклад. Для K = 2 відповідь -1.
  • Приклад. Для K = 3 відповідь 3. Бо, 111 = 3 * 37.
  • Приклад. Для K = 7 відповідь 6.