Časy zastavení Collatzovy posloupnosti

O(n · k)

Collatzova domněnka (nevyřešená od roku 1937) říká, že opakované aplikování zobrazení m→m/2 (sudé) nebo m→3m+1 (liché) vždy nakonec dosáhne 1. Celkový čas zastavení — počet kroků k dosažení 1 — se divoce mění a nemá žádný známý uzavřený vzorec. Tento vizualizér spočítá čas zastavení pro každé m ve 2..n a přiřadí jej barevnému pásmu: béžová pro ≤10 kroků, zlatá pro 11–20 kroků a zelená pro >20 kroků, čímž vznikne výrazná heatmapa. Štítky buněk zobrazují přesný počet kroků.

Čísla
Uprav vstup a stiskni Přehrát

Jak to funguje

  1. Inicializace všech buněk 2..n jako kandidátů
  2. Pro každé m spočítej jeho Collatzův čas zastavení
  3. Přiřaď barevné pásmo: ≤10 béžová, 11–20 zlatá, >20 zelená
  4. Označ každou buňku počtem kroků

Pseudokód

1collatzSteps(m):                    # steps to reach 12  steps = 03  while m != 1:4    m = m/2 if even else 3*m + 15    steps += 16  return steps78collatzGrid(n):                     # O(n * k)9  for m = 2 to n:10    s = collatzSteps(m)11    band[m] = "low" if s<=10 else "mid" if s<=20 else "high"