beginnerO(log(min(a, b))) — Öklid'in garanti alt sınırı
Cümledeki kelimelerin sırasını tersine çevir,
fakat kelimelerin kendisini tersine çevirme.
İpuçları
💡 İpucu 1: sentence.split() ile kelimelere ayır.
💡 İpucu 2: words[::-1] veya reversed(words) ile sırayı tersine çevir.
💡 İpucu 3: ' '.join(...) ile tekrar birleştir.
Yaklaşım & Açıklama
OBEB (EBOB/GCD), Öklid algoritmasının klasik uygulamasıdır.
**Öklid teoremi:** gcd(a, b) = gcd(b, a mod b). Base case: gcd(a, 0) = a.
**Özyinelemeli:**
```python
def gcd(a, b):
return a if b == 0 else gcd(b, a % b)
```
**Iteratif:**
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
**Python builtin:** `math.gcd(a, b)` — C implementasyonu, daha hızlı.
**OKEK (LCM) hesabı:** `lcm(a, b) = a * b / gcd(a, b)`. Python 3.9+: `math.lcm(a, b)`.
**Kullanım:** Kesir sadeleştirme, RSA kriptografi, periyodik olaylar (müzik teorisi, saat hesabı).