Šťastná čísla
O(n · k)Šťastné číslo se opakovaně nahrazuje součtem čtverců číslic, dokud nedosáhne 1; nešťastné číslo upadne do cyklu 4→16→37→58→89→145→42→20→4. Sekvenci zpopularizoval Reg Allenby a systematicky byla studována v 90. letech. Tento vizualizér kontroluje každé m v 2..n samostatně, šťastná čísla barví zeleně a nešťastná hnědě. Mezi známá šťastná čísla patří 7, 13, 19, 23 a 28.
Čísla
Uprav vstup a stiskni Přehrát
Jak to funguje
- Inicializace všech čísel jako kandidátů
- Pro každé m iteruj součet čtverců číslic dokud nedosáhneš 1 nebo cyklu
- Šťastná čísla zeleně, nešťastná hnědě
- Výpis celkového počtu šťastných čísel
Pseudokód
1isHappy(m): # O(k) per number2 seen = {}3 while m != 1 and m not in seen:4 seen.add(m)5 m = sum(d^2 for d in digits(m))6 return m == 178happyNumbers(n):9 for m = 2 to n:10 label[m] = "happy" if isHappy(m) else "unhappy"