1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Procvičování otázek z kódovacích pohovorů v Pythonu

Connected

Cvičení

Posloupnost nesoudělných čísel

Dvě čísla \(a\) a \(b\) jsou nesoudělná, pokud je jejich největší společný dělitel (NSD) roven 1. NSD je největší kladné číslo, které dělí obě daná čísla \(a\) a \(b\). Například čísla 7 a 9 jsou nesoudělná, protože jejich NSD je 1.

Máš k dispozici dva seznamy list1 a list2. Tvým úkolem je vytvořit nový seznam coprimes, který bude obsahovat všechny nesoudělné dvojice z list1 a list2.

Nejdřív ale musíš napsat funkci pro výpočet NSD podle následujícího algoritmu:

  1. zkontroluj, zda \(b = 0\)
    • pokud ano, vrať \(a\) jako NSD čísel \(a\) a \(b\)
    • pokud ne, přejdi na krok 2
  2. proveď substituci \(a \leftarrow b\) a \(b \leftarrow a \% b\)
  3. vrať se na krok 1

Pokyny 1/2

undefined XP
    1
    2
  • Definuj smyčku while podle popisu v zadání.
  • Doplň příkaz return.