You are on page 1of 2

[DM 01]

[1/01] Stosując indukcję:


(1) wykaż poprawność wzorów na sumę szeregu arytmetycznego i geometrycznego.
(2) wykaż, że n ∈ N ⇒ 6 | n(n + 1)(2n + 1) (a | b czytaj "a dzieli b" lub "b jest podzielne przez a")
(3) wykaż, że n ∈ NP ⇒ 4 | 1 + 3n (NP - zbiór naturalnych liczb nieparzystych)
(4) wykaż, że n ∈ NP ⇒ 5 | 2n + 3n
(5) wykaż, że jeżeli wyrazy ciągu an spełniają warunki: a1 = 1, a2 = 2, an = an-1 + an-2, to an < (7/4)n.
(6) wykaż, że jeżeli wyrazy ciągu an spełniają warunek: an = an-1 / (2an-1 + 1), to an = a0 / (2na0 + 1).
(7) wykaż, że m5 / 5 + m3 / 3 + 7m / 15 jest liczbą całkowitą dla każdego całkowitego m.

[2/01] Dowieść, że dla dodatnich, rzeczywistych a1,...,an mamy:


n −1
• an/a1+ ∑ ai / ai+1 ≥ n,
i =1
n

• jeżeli a1...an = 1, to ∑a
i =1
i ≥ n,

• zawsze (a1...an)1/n ≤ (a1+...+an)/n. Kiedy zachodzi równość?

[3/01]
const
k = ...;
type
T = array[1..k] of integer;
for i = 1 to k – 1 do
if T[i] < T[i+1] then "zamień T[i] z T[i + 1]"
writeln(T[k]);

Udowodnij, że powyższy algorytm w pseudo-pascalu wypisuje maksymalną wartość tablicy T. (Wskazówka:


Zastosuj indukcję względem i. Zastosuj predykat P(i) ⇔ "po wykonaniu i - tego kroku pętli element
maksymalny znajduje się w polu tablicy o indeksie większym niż i").

[4/01]
const
k = ...;
type
T = array[1..k] of integer;
for i = 1 to k – 1 do
for j = 1 to k – i do
if T[j] < T[j+1] then "zamień T[j] z T[j + 1]"

Udowodnij, że powyższy algorytm w pseudo-pascalu sortuje tablicę T. (Wskazówka: Zastosuj indukcję


względem i. Skorzystaj z zadnia poprzedniego. Określ wyraźnie predykat P, który występuje w Twoim
dowodzie (zapewne inny niż w poprzednim zadaniu)).

[5/01] W mieście Skrzyżne nie ma ślepych ulic (tzn. jadąc dowolną ulicą w dowolnym kierunku zawsze
dojedziemy do skrzyżowania) i wszystkie ulice są dwukierunkowe. Do każdego skrzyżowania dochodzi
parzysta liczba ulic. Z każdego skrzyżowania można dojechać do każdego innego skrzyżowania. Udowodnij, że
można w tym mieście przejechać wszystkie ulice tak, aby każdą ulicą jechać tylko jeden raz, rozpoczynając i
kończąc podróż na tym samym skrzyżowaniu. (Wskazówka: zastosuj indukcję względem liczby ulic.
Skorzystaj z silniejszej wersji zasady indukcji matematycznej (krok indukcyjny: [P(s) ∧P(s + 1) ∧ ... ∧P(n)] →
P(n + 1)).
[6/01] Pokaż, że dla dowolnej liczby naturalnej n istnieje liczba naturalna cn taka, że jeżeli połączymy
odcinkami każde dwa wierzchołki k-kąta foremnego, gdzie k ≥ cn, to przy dowolnym pokolorowaniu
wszystkich tych odcinków n kolorami pewne trzy odcinki będące bokami jednego trójkąta uzyskają ten sam
kolor.

[7/01] Które z poniższych implikacji logicznych są prawdziwe. Dla każdej nieprawdziwej implikacji przedstaw
kontrprzykład dokładnie definiując predykat P.
 [P(1) ∧∀n∈N(P(n2) → P(n2 + 1)) ∧∀n∈N(P(n + 1) → P(n))] ⇒ ∀n∈N(P(n))
 [P(125) ∧∀n∈N(P(n2) → P(n2 + 2n + 2)) ∧∀n∈N(P(n + 1) → P(n))] ⇒ ∀n∈N(P(n))

[8/01]

(a) Udowodnij, że poniższy program wypisuje wyłącznie liczby całkowite.

x := 1;
while (1 < 2) do
begin
writeln(x);
x := x + 12 ( x −1) +3 ;
end;

(b) Udowodnij, że następujący program wypisuje wyłącznie liczby całkowite.

x = 1;
while (1 > 0)
{
print(x);
x =3 +x +2 3 x −2 ;
}

[9/01] Dany jest ciąg określony rekurencyjnie:

a1 = 1, a2 = 2
an = an2−1 + an2−2 + an −2 +1, dla n ≥ 3

Udowodnij, że ~∃ n∈N (3 | an).

[10/01] Dany jest ciąg określony rekurencyjnie:

a1 = 4, a2 = 2002
an = an2−1 + an2−2 + an−1 + 2, dla n ≥ 3

Udowodnij, że ∀n∈N (4 | (an + 1)2 – 1).

[11/01] Ciąg an określony jest rekurencyjnie:


a1 = 1, a2 = 1,
an+2 = an+1 + an, dla n ∈ N.

Udowodnij, że ∀n∈N(5 | a5n).

You might also like