MAT2033 · 11. hafta · Solving linear recurrences, generating functions

Doğrusal yinelemeler, üreteç fonksiyonlar ve içerme-dışlama

Karakteristik denklemle yineleme çözmek, özel çözüm eklemek, böl-ve-yönet yinelemeleri, üreteç fonksiyonla sayma ve içerme-dışlama. Finalde tam bir soru buradan gelir.

recurrence relationlinear homogeneous recurrencecharacteristic equationcharacteristic rootrepeated rootparticular solutionnonhomogeneous recurrencedivide-and-conquer recurrencemaster theoremgenerating functioninclusion-exclusion

Bu hafta, 8.1’de kurduğun yinelemeleri (recurrence relation) çözmeyi öğreniyorsun: ana_n‘i önceki terimlere bağlı yazmak yerine doğrudan nn cinsinden bir formül bulmak. Bu konu vizede yok, final konusu. Final sorusu genelde şöyle: “Solve the recurrence … with initial conditions …”. Ardından bir üreteç fonksiyon (generating function) ya da içerme-dışlama (inclusion-exclusion) sorusu gelir.

Altın kurallar:

  1. Karakteristik denklem: an=rna_n = r^n koy, rr‘nin denklemini çöz.
  2. Farklı kökler r1≠r2r_1 \neq r_2: an=αr1n+βr2na_n = \alpha r_1^n + \beta r_2^n.
  3. Çift kök rr: an=(α+βn)rna_n = (\alpha + \beta n) r^n. nn çarpanını unutan puanı kaybeder.
  4. Sabitleri a0a_0, a1a_1 ile bul. Bir terim daha hesaplayıp kontrol et.
  5. Homojen değilse: genel çözüm = homojen çözüm + özel çözüm. Başlangıç koşulunu en son uygula.

Doğrusal homojen yineleme nedir?

kk. dereceden doğrusal homojen sabit katsayılı yineleme (linear homogeneous recurrence relation of degree kk with constant coefficients):

an=c1an−1+c2an−2+⋯+ckan−k,ck≠0.a_n = c_1 a_{n-1} + c_2 a_{n-2} + \dots + c_k a_{n-k}, \qquad c_k \neq 0.

Kelime kelime:

KelimeAnlamıÖrnek olmayan
linear (doğrusal)önceki terimler sadece sabitle çarpılıp toplanıyoran=an−12a_n = a_{n-1}^2
homogeneous (homojen)aa içermeyen ek terim yokan=2an−1+1a_n = 2a_{n-1} + 1
constant coefficientscic_i sayılar, nn‘ye bağlı değilan=n an−1a_n = n\,a_{n-1}
degree kken geriye kk adım bakıyoran=an−3a_n = a_{n-3} derece 3

Derece kk ise kk tane başlangıç koşulu (initial condition) diziyi tek türlü belirler. Final derecesi neredeyse her zaman 2.

Sezgi: neden rnr^n?

an=2an−1a_n = 2a_{n-1} gibi birinci dereceden bir yineleme her adımda 2 ile çarpar, çözüm an=a02na_n = a_0 2^n. İkinci derecede de çözümün “üstel” olmasını bekleriz. an=rna_n = r^n yaz, yinelemeye koy:

rn=c1rn−1+c2rn−2  ⟹  r2−c1r−c2=0.r^n = c_1 r^{n-1} + c_2 r^{n-2} \;\Longrightarrow\; r^2 - c_1 r - c_2 = 0.

Bu karakteristik denklem (characteristic equation), kökleri karakteristik kökler (characteristic roots). Her kök bir temel çözüm verir; doğrusal olduğu için temel çözümlerin her doğrusal birleşimi de çözümdür.

Kural 1: farklı kökler

r2−c1r−c2=0r^2 - c_1 r - c_2 = 0 iki farklı kök r1,r2r_1, r_2 veriyorsa:

an=α1r1n+α2r2n.a_n = \alpha_1 r_1^n + \alpha_2 r_2^n.

Örnek. an=an−1+2an−2a_n = a_{n-1} + 2a_{n-2}, a0=2a_0 = 2, a1=7a_1 = 7.

1) r^2 = r + 2  ->  r^2 - r - 2 = 0  ->  (r - 2)(r + 1) = 0  ->  r = 2, r = -1
2) a_n = A 2^n + B (-1)^n
3) n = 0:  A + B = 2
   n = 1:  2A - B = 7
   topla:  3A = 9  ->  A = 3,  B = -1
4) a_n = 3 * 2^n - (-1)^n
5) kontrol: a_2 = 7 + 2*2 = 11 ;  formül 12 - 1 = 11

İPUCU · her zaman bir terim kontrol et. a2a_2‘yi yinelemeden hesapla, formülden de hesapla. Eşit değilse sistemde işaret hatası var. Sınavda 20 saniye sürer, puanı kurtarır.

Kural 2: çift kök

Karakteristik denklemin tek bir kökü varsa (r0r_0, iki katlı), r0nr_0^n tek başına iki koşulu sağlamaya yetmez. İkinci temel çözüm nr0nn r_0^n olur:

an=(α1+α2n) r0n.a_n = (\alpha_1 + \alpha_2 n)\, r_0^n.

Örnek. an=4an−1−4an−2a_n = 4a_{n-1} - 4a_{n-2}, a0=1a_0 = 1, a1=6a_1 = 6.

r^2 - 4r + 4 = (r - 2)^2 = 0   ->  r = 2 (çift kök)
a_n = (A + B n) 2^n
n = 0:  A = 1
n = 1:  (1 + B) * 2 = 6  ->  B = 2
a_n = (1 + 2n) 2^n
kontrol: a_3 = 4*20 - 4*6 = 56 ;  formül 7 * 8 = 56

TUZAK · çift kökte α2n+β2n\alpha 2^n + \beta 2^n yazmak. Bu aslında (α+β)2n(\alpha+\beta)2^n, yani tek bir sabit. İki başlangıç koşulunu birden sağlayamaz. Çift kökte ikinci terim mutlaka βnrn\beta n r^n.

Bir çözümü ispatla doğrulamak

Finalde bazen “Show that an=…a_n = \dots is a solution” diye sorulur. Bu bir doğrudan ispattır: formülü sağ tarafa koy, sol tarafı elde et.

Claim. an=3⋅2n−(−1)na_n = 3\cdot 2^n - (-1)^n satisfies an=an−1+2an−2a_n = a_{n-1} + 2a_{n-2} for all n≥2n \ge 2, with a0=2a_0 = 2, a1=7a_1 = 7.

Proof. For n≥2n \ge 2,

an−1+2an−2=3⋅2n−1−(−1)n−1+2(3⋅2n−2−(−1)n−2)=3⋅2n−1+3⋅2n−1−(−1)n−1−2(−1)n−2.a_{n-1} + 2a_{n-2} = 3\cdot 2^{n-1} - (-1)^{n-1} + 2\left(3\cdot 2^{n-2} - (-1)^{n-2}\right) = 3\cdot 2^{n-1} + 3\cdot 2^{n-1} - (-1)^{n-1} - 2(-1)^{n-2}.

The first two terms give 3⋅2n3\cdot 2^n. Since (−1)n−1=−(−1)n−2(-1)^{n-1} = -(-1)^{n-2}, the last two terms give (−1)n−2−2(−1)n−2=−(−1)n−2=−(−1)n(-1)^{n-2} - 2(-1)^{n-2} = -(-1)^{n-2} = -(-1)^n. Hence an−1+2an−2=3⋅2n−(−1)n=ana_{n-1} + 2a_{n-2} = 3\cdot 2^n - (-1)^n = a_n. Also a0=3−1=2a_0 = 3 - 1 = 2 and a1=6+1=7a_1 = 6 + 1 = 7. ■\blacksquare

Türkçesi: iki üstel parçayı ayrı ayrı topla. 2n−1+2n−1=2n2^{n-1} + 2^{n-1} = 2^n hilesi ve (−1)(-1)‘in kuvvetlerinde bir adım kaydırınca işaret değiştiğini kullan.

Homojen olmayan yinelemeler

an=c1an−1+⋯+ckan−k+F(n)a_n = c_1 a_{n-1} + \dots + c_k a_{n-k} + F(n) biçiminde, F(n)≠0F(n) \neq 0. Çözüm:

an=an(h)+an(p)a_n = a_n^{(h)} + a_n^{(p)}

an(h)a_n^{(h)}: F(n)F(n)‘i silip elde ettiğin homojen yinelemenin genel çözümü. an(p)a_n^{(p)}: yinelemeyi sağlayan herhangi bir özel çözüm (particular solution). Özel çözüm için tahmin tablosu:

F(n)F(n)DeneNe zaman değişir?
sabit ddCC1 karakteristik kökse CnCn
dn+edn + eCn+DCn + D1 kökse bir nn ile çarp
d⋅snd\cdot s^nCsnC s^nss kökse CnsnC n s^n (katlıysa nmn^m)

Örnek. an=3an−1+4a_n = 3a_{n-1} + 4, a0=1a_0 = 1.

homojen:  a_n = 3 a_{n-1}            ->  a_n(h) = A 3^n
özel:     a_n(p) = C  (sabit dene)   ->  C = 3C + 4  ->  C = -2
genel:    a_n = A 3^n - 2
koşul:    a_0 = A - 2 = 1  ->  A = 3
sonuç:    a_n = 3^(n+1) - 2      kontrol: a_1 = 3 + 4 = 7 = 9 - 2

TUZAK · başlangıç koşulunu homojen kısma uygulamak. α3n\alpha 3^n‘e a0=1a_0 = 1 uygulayıp sonra −2-2 eklersen yanlış çıkar. Önce genel çözümü tam yaz (a(h)+a(p)a^{(h)} + a^{(p)}), koşulu en son uygula.

Böl ve yönet yinelemeleri

Problemi aa tane, her biri n/bn/b boyutunda alt probleme bölen, birleştirmesi g(n)g(n) süren algoritmalar (binary search, merge sort):

f(n)=af(n/b)+g(n).f(n) = a f(n/b) + g(n).

Binary search: f(n)=f(n/2)+2f(n) = f(n/2) + 2. Merge sort: M(n)=2M(n/2)+nM(n) = 2M(n/2) + n.

Master theorem. f(n)=af(n/b)+cndf(n) = a f(n/b) + cn^d, a≥1a \ge 1, b>1b > 1, c>0c > 0, d≥0d \ge 0 ise:

f(n) is {O(nd)a<bdO(ndlog⁡n)a=bdO(nlog⁡ba)a>bdf(n) \text{ is } \begin{cases} O(n^d) & a < b^d \\ O(n^d \log n) & a = b^d \\ O(n^{\log_b a}) & a > b^d \end{cases}

Okuma şekli: aa (dal sayısı) ile bdb^d‘yi (bir seviyedeki işin küçülme hızı) karşılaştır.

Yinelemeaabdb^dSonuç
f(n/2)+2f(n/2) + 2 (binary search)120=12^0 = 1O(log⁡n)O(\log n)
2f(n/2)+n2f(n/2) + n (merge sort)22O(nlog⁡n)O(n\log n)
4f(n/2)+n4f(n/2) + n42O(n2)O(n^2)
2f(n/2)+n22f(n/2) + n^224O(n2)O(n^2)

Küçük değerleri elle de hesaplayabilirsin: f(n)=2f(n/2)+3f(n) = 2f(n/2) + 3, f(1)=1f(1) = 1 ise f(2)=5f(2) = 5, f(4)=13f(4) = 13, f(8)=29f(8) = 29.

Üreteç fonksiyonlar

Bir dizinin üreteç fonksiyonu (generating function), terimleri katsayı olarak taşıyan kuvvet serisidir:

G(x)=a0+a1x+a2x2+⋯=∑k=0∞akxk.G(x) = a_0 + a_1 x + a_2 x^2 + \dots = \sum_{k=0}^{\infty} a_k x^k.

Sezgi: xkx^k bir “raf etiketi”, katsayı o rafta kaç şey olduğunu söylüyor. Polinomları çarpınca üsler toplanır; bu da “toplamı kk olan seçimleri say” işine birebir uyar.

Ezberlenecek açılımlar:

FonksiyonDizi aka_k
11−x\dfrac{1}{1-x}11
11−ax\dfrac{1}{1-ax}aka^k
1(1−x)2\dfrac{1}{(1-x)^2}k+1k+1
1(1−x)n\dfrac{1}{(1-x)^n}C(n+k−1, k)C(n+k-1,\,k)
1−xm+11−x\dfrac{1-x^{m+1}}{1-x}k≤mk \le m için 1, sonra 0
(1+x)n(1+x)^nC(n,k)C(n,k)

Sayma örneği. Üç çeşit poğaçadan 8 tane alacaksın, peynirliden en az 2 tane olmalı. Kaç farklı seçim var?

peynirli:  x^2 + x^3 + ...  = x^2 / (1 - x)
diğer iki: 1 + x + x^2 + ... = 1 / (1 - x)   (her biri)
G(x) = x^2 / (1 - x)^3
x^8 katsayısı = 1/(1-x)^3 içindeki x^6 katsayısı = C(3+6-1, 6) = C(8, 6) = 28

Sınırlı değişkenlerde (üst sınır varsa) seriyi sonlu polinom olarak yaz ve katsayıyı çarparak bul. Bu, sorulardaki e1+e2+e3=6e_1 + e_2 + e_3 = 6 örneğinde yapılan iş.

Üreteç fonksiyonla yineleme de çözülebilir: ak=3ak−1a_k = 3a_{k-1}, a0=1a_0 = 1 için G(x)−3xG(x)=1G(x) - 3xG(x) = 1, G(x)=11−3xG(x) = \frac{1}{1-3x}, yani ak=3ka_k = 3^k. Finalde bu yöntem daha seyrek, karakteristik kök yöntemi asıl beklenen.

İçerme-dışlama (inclusion-exclusion)

İki küme için ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣|A \cup B| = |A| + |B| - |A\cap B|. Üç küme:

∣A∪B∪C∣=∣A∣+∣B∣+∣C∣−∣A∩B∣−∣A∩C∣−∣B∩C∣+∣A∩B∩C∣.|A\cup B\cup C| = |A| + |B| + |C| - |A\cap B| - |A\cap C| - |B\cap C| + |A\cap B\cap C|.

Sezgi: tek tek toplayınca iki kümede olanları iki kez saydın, çıkar. Ama üçünde olanı önce 3 kez ekleyip 3 kez çıkardın, yani hiç saymadın: bir kez geri ekle.

Örnek. 1..1001..100 arasında 2, 3 ya da 7’ye bölünen kaç sayı var?

|A| = floor(100/2) = 50     |B| = floor(100/3) = 33     |C| = floor(100/7) = 14
|AB| = floor(100/6) = 16    |AC| = floor(100/14) = 7    |BC| = floor(100/21) = 4
|ABC| = floor(100/42) = 2
|A u B u C| = 50 + 33 + 14 - 16 - 7 - 4 + 2 = 72

“Hiçbirine bölünmeyen” sorulursa 100−72=28100 - 72 = 28. Bu tamamlayıcı adımı unutmak en sık kayıp.

Sık yapılan hatalar

YanlışDoğrusu
r2=c1r+c2r^2 = c_1 r + c_2 yerine r2+c1r+c2=0r^2 + c_1 r + c_2 = 0 yazmakSağdakileri sola işaret değiştirerek taşı: r2−c1r−c2=0r^2 - c_1 r - c_2 = 0
Çift kökte αrn+βrn\alpha r^n + \beta r^n(α+βn)rn(\alpha + \beta n) r^n
Başlangıç koşulunu sadece homojen kısma uygulamakÖnce a(h)+a(p)a^{(h)} + a^{(p)}, sonra koşul
F(n)=3nF(n) = 3^n ve 3 kök iken C3nC 3^n denemekCn3nC n 3^n dene, yoksa CC için çelişki çıkar
Master theorem’de aa ile bb‘yi karıştırmakaa = alt problem sayısı, bb = bölme oranı
1(1−x)3\frac{1}{(1-x)^3} için xkx^k katsayısı C(k+3,k)C(k+3, k)C(n+k−1,k)=C(k+2,k)C(n+k-1, k) = C(k+2, k)
İçerme-dışlamada üçlü kesişimi çıkarmakÜçlü kesişim eklenir
“None of them” sorusunda ∣A∪B∪C∣\lvert A\cup B\cup C\rvert yazmakToplamdan çıkar: N−∣A∪B∪C∣N - \lvert A\cup B \cup C\rvert

Kendini test et

Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.

Soru 1kolay

Find the characteristic roots of the recurrence an=an−1+6an−2a_n = a_{n-1} + 6a_{n-2}.

Cevabı göster
3 and -2

an=rna_n = r^n koy: r2=r+6r^2 = r + 6, yani r2−r−6=0r^2 - r - 6 = 0. Çarpanlara ayır: (r−3)(r+2)=0(r-3)(r+2)=0. Kökler r=3r = 3 ve r=−2r = -2.

Soru 2orta

Solve an=5an−1−6an−2a_n = 5a_{n-1} - 6a_{n-2} with a0=1a_0 = 1, a1=4a_1 = 4. Then compute a5a_5.

Cevabı göster
an=2⋅3n−2na_n = 2\cdot 3^n - 2^n, a5=454a_5 = 454

Karakteristik denklem r2−5r+6=0r^2 - 5r + 6 = 0, kökler 2 ve 3 (farklı). Genel çözüm an=α2n+β3na_n = \alpha 2^n + \beta 3^n.n=0n=0: α+β=1\alpha + \beta = 1. n=1n=1: 2α+3β=42\alpha + 3\beta = 4. Birinciyi 2 ile çarpıp çıkar: β=2\beta = 2, α=−1\alpha = -1.an=2⋅3n−2na_n = 2\cdot 3^n - 2^n. a5=2⋅243−32=454a_5 = 2\cdot 243 - 32 = 454. Kontrol: a2=5⋅4−6=14a_2 = 5\cdot 4 - 6 = 14 ve 2⋅9−4=142\cdot 9 - 4 = 14.

Soru 3orta

Solve an=6an−1−9an−2a_n = 6a_{n-1} - 9a_{n-2} with a0=2a_0 = 2, a1=9a_1 = 9, and find a4a_4.

Cevabı göster
an=(n+2)3na_n = (n+2)3^n, a4=486a_4 = 486

r2−6r+9=(r−3)2=0r^2 - 6r + 9 = (r-3)^2 = 0: tek kök r=3r = 3, iki katlı (repeated root). Genel çözüm an=(α+βn)3na_n = (\alpha + \beta n)3^n.n=0n=0: α=2\alpha = 2. n=1n=1: 3(2+β)=93(2 + \beta) = 9, β=1\beta = 1. Yani an=(n+2)3na_n = (n+2)3^n.a4=6⋅81=486a_4 = 6 \cdot 81 = 486.

Soru 4orta

Solve an=4an−1−4an−2a_n = 4a_{n-1} - 4a_{n-2} with a0=1a_0 = 1, a1=6a_1 = 6.

Cevabı göster
an=(1+2n)2na_n = (1+2n)2^n

(r−2)2=0(r-2)^2 = 0, çift kök 2. an=(α+βn)2na_n = (\alpha + \beta n)2^n. a0=α=1a_0 = \alpha = 1. a1=2(1+β)=6a_1 = 2(1+\beta) = 6, β=2\beta = 2.
Sonuç an=(1+2n)2na_n = (1+2n)2^n. Kontrol: a2=4⋅6−4⋅1=20a_2 = 4\cdot 6 - 4\cdot 1 = 20, formül 5⋅4=205 \cdot 4 = 20.

Soru 5zor

Solve the nonhomogeneous recurrence an=3an−1+2na_n = 3a_{n-1} + 2^n with a0=1a_0 = 1.

Cevabı göster
an=3n+1−2n+1a_n = 3^{n+1} - 2^{n+1}

Homojen kısım an=3an−1a_n = 3a_{n-1}: an(h)=α3na_n^{(h)} = \alpha 3^n.
Özel çözüm (particular solution) için F(n)=2nF(n) = 2^n ve 2 karakteristik kök değil, o yüzden an(p)=C2na_n^{(p)} = C 2^n dene:C2n=3C2n−1+2nC2^n = 3C2^{n-1} + 2^n. 2n−12^{n-1}'e böl: 2C=3C+22C = 3C + 2, C=−2C = -2.an=α3n−2⋅2na_n = \alpha 3^n - 2\cdot 2^n. a0=α−2=1a_0 = \alpha - 2 = 1, α=3\alpha = 3. Sonuç 3n+1−2n+13^{n+1} - 2^{n+1}. Kontrol: a1=3+2=5=9−4a_1 = 3 + 2 = 5 = 9 - 4.

Soru 6kolay

Let f(n)=2f(n/2)+3f(n) = 2f(n/2) + 3 for n=2kn = 2^k, n≥2n \ge 2, with f(1)=1f(1) = 1. Compute f(8)f(8).

Cevabı göster
29

Aşağıdan yukarı hesapla: f(2)=2⋅1+3=5f(2) = 2\cdot 1 + 3 = 5, f(4)=2⋅5+3=13f(4) = 2\cdot 5 + 3 = 13, f(8)=2⋅13+3=29f(8) = 2 \cdot 13 + 3 = 29.
(Genel olarak f(n)=4n−3f(n) = 4n - 3; n=8n = 8 için 2929.)

Soru 7orta

Use the master theorem to give a big-O estimate for f(n)=4f(n/2)+nf(n) = 4f(n/2) + n.

Cevabı göster
O(n2)O(n^2)

f(n)=af(n/b)+cndf(n) = af(n/b) + cn^d biçiminde: a=4a = 4, b=2b = 2, d=1d = 1. bd=2b^d = 2 ve a=4>2a = 4 > 2.
Bu durumda f(n)f(n) O(nlog⁡ba)=O(nlog⁡24)=O(n2)O(n^{\log_b a}) = O(n^{\log_2 4}) = O(n^2).

Soru 8orta

Use the master theorem to give a big-O estimate for f(n)=8f(n/2)+n3f(n) = 8f(n/2) + n^3.

Cevabı göster
O(n3log⁡n)O(n^3 \log n)

a=8a = 8, b=2b = 2, d=3d = 3. bd=23=8=ab^d = 2^3 = 8 = a: eşitlik durumu. Sonuç O(ndlog⁡n)=O(n3log⁡n)O(n^d \log n) = O(n^3\log n).

Soru 9orta

What is the coefficient of x5x^5 in 1(1−x)3\dfrac{1}{(1-x)^3}? What counting problem does it answer?

Cevabı göster
21

1(1−x)n\frac{1}{(1-x)^n} açılımında xkx^k katsayısı C(n+k−1,k)C(n+k-1, k). Burada n=3n=3, k=5k=5: C(7,5)=21C(7,5) = 21.
Bu, x1+x2+x3=5x_1 + x_2 + x_3 = 5 denkleminin negatif olmayan tam sayı çözümlerinin sayısıdır: her 11−x\frac{1}{1-x} bir değişkenin 0,1,2,…0,1,2,\dots değerlerini temsil eder.

Soru 10zor

Use a generating function to find the number of solutions of e1+e2+e3=6e_1 + e_2 + e_3 = 6 with 1≤e1≤31 \le e_1 \le 3, 0≤e2≤20 \le e_2 \le 2, 0≤e3≤20 \le e_3 \le 2.

Cevabı göster
3

Üreteç fonksiyon (x+x2+x3)(1+x+x2)2(x + x^2 + x^3)(1 + x + x^2)^2, aranan x6x^6 katsayısı.(1+x+x2)2=1+2x+3x2+2x3+x4(1+x+x^2)^2 = 1 + 2x + 3x^2 + 2x^3 + x^4. x6x^6 elde etmek için: x2⋅x4x^2 \cdot x^4 (katsayı 1⋅11\cdot 1) ve x3⋅2x3x^3 \cdot 2x^3 (katsayı 1⋅21 \cdot 2). x1x^1 ile x5x^5 gerekir ama x5x^5 yok.
Toplam 1+2=31 + 2 = 3. (Liste: (2,2,2)(2,2,2), (3,1,2)(3,1,2), (3,2,1)(3,2,1).)

Soru 11orta

Which sequences have generating functions (a) 11−2x\dfrac{1}{1-2x} and (b) x(1−x)2\dfrac{x}{(1-x)^2}?

Cevabı göster
(a) ak=2ka_k = 2^k, (b) ak=ka_k = k

(a) 11−ax=∑akxk\frac{1}{1-ax} = \sum a^k x^k, burada a=2a = 2: 1,2,4,8,…1, 2, 4, 8, \dots(b) 1(1−x)2=∑(k+1)xk\frac{1}{(1-x)^2} = \sum (k+1)x^k. xx ile çarpmak diziyi bir sağa kaydırır: ∑kxk\sum k x^k, yani 0,1,2,3,…0, 1, 2, 3, \dots

Soru 12zor

How many integers in {1,2,…,200}\{1, 2, \dots, 200\} are divisible by none of 22, 33, 55?

Cevabı göster
54

Önce en az birine bölünenleri say (inclusion-exclusion): ⌊200/2⌋+⌊200/3⌋+⌊200/5⌋=100+66+40=206\lfloor 200/2\rfloor + \lfloor 200/3\rfloor + \lfloor 200/5\rfloor = 100 + 66 + 40 = 206.
İkililer: ⌊200/6⌋+⌊200/10⌋+⌊200/15⌋=33+20+13=66\lfloor 200/6 \rfloor + \lfloor 200/10\rfloor + \lfloor 200/15\rfloor = 33 + 20 + 13 = 66. Üçlü: ⌊200/30⌋=6\lfloor 200/30\rfloor = 6.∣A∪B∪C∣=206−66+6=146|A\cup B\cup C| = 206 - 66 + 6 = 146. Hiçbirine bölünmeyen: 200−146=54200 - 146 = 54.

Doğrulama: Tüm yinelemeler node ile 20 terim iterasyonla kapalı formla karşılaştırıldı; üreteç fonksiyon katsayıları polinom çarpımı ve kaba sayımla, içerme-dışlama sonuçları 1..N tek tek sayılarak doğrulandı (verify/MAT2033/11.mjs).

Deftere not kartı

Homojen: a_n = c1 a_{n-1} + c2 a_{n-2} -> r^2 - c1 r - c2 = 0 Farklı kökler r1, r2: a_n = A r1^n + B r2^n Çift kök r: a_n = (A + B n) r^n (n'yi unutma!) A, B: a0 ve a1'i yerine koy, 2 bilinmeyenli sistem Homojen olmayan: a_n = a_n(h) + a_n(p); önce p bul, SONRA başlangıç koşulu F(n) = sabit -> p = C; F(n) = s^n -> p = C s^n (s kök ise C n s^n) Master: f(n) = a f(n/b) + c n^d a < b^d -> O(n^d); a = b^d -> O(n^d log n); a > b^d -> O(n^{log_b a}) 1/(1-x) = 1+x+x^2+... 1/(1-ax) -> a^k 1/(1-x)^n -> C(n+k-1, k) Sınırlı değişken: (x^alt + ... + x^üst) çarpanı, istenen katsayıyı oku IE (3 küme): |A|+|B|+|C| - |AB|-|AC|-|BC| + |ABC| "hiçbiri" = toplam - |A u B u C|; k'ya bölünen sayısı = floor(N/k)