Rozważamy dwie funkcje F i G, których argumentem jest liczba całkowita x > 1 (gdzie mod oznacza resztę z dzielenia):
F(x):
i ← 2
dopóki x mod i ≠ 0 wykonuj
i ← i + 1
zwróć i
G(x):
i ← x – 1
dopóki x mod i ≠ 0 wykonuj
i ← i – 1
zwróć i
1. | F(2)=2 oraz G(2)=1. | P | F |
---|---|---|---|
2. | Dla każdej liczby parzystej x wartość F(x) jest parzysta. | P | F |
3. | Dla każdej liczby parzystej x wartość G(x) jest parzysta. | P | F |
4. | Dla każdej liczby x większej od 2 F(x) dzieli liczbę x. | P | F |
Poprawna odpowiedź
PPFP
Poziom wykonania zadania: 24%
Wyjaśnienie
1. F(2)=2 oraz G(2)=1. Prawda.
F(2) = 2
G(2) = 2 - 1 = 1
2. Dla każdej liczby parzystej x wartość F(x) jest parzysta. Prawda.
Algorytm F(x) działa tak długo, aż x mod i != 0. Ponieważ x jest parzystą, to w pewnym momencie i będzie równe x/2. Wtedy x mod i = 0 i algorytm zakończy się.
Oznacza to, że wartość i, którą funkcja F(x) zwróci, będzie zawsze parzysta.
3. Dla każdej liczby parzystej x wartość G(x) jest parzysta. Fałsz.
Algorytm G(x) działa tak długo, aż x mod i != 0. Ponieważ x jest parzystą, to w pewnym momencie i będzie równe x - 1. Wtedy x mod i = 1 i algorytm zakończy się.
Oznacza to, że wartość i, którą funkcja G(x) zwróci, będzie zawsze o jeden mniejsza od x. W przypadku liczby parzystej wartość i będzie zawsze nieparzysta.
Przykład:
G(4) = 4 - 1 = 3
4. Dla każdej liczby x większej od 2 F(x) dzieli liczbę x. Prawda.
Algorytm F(x) działa tak długo, aż x mod i != 0. Oznacza to, że i jest zawsze czynnikiem liczby x.
Ponieważ i jest zawsze większe od 1, to jest również czynnikiem pierwszoplanowym liczby x.
Przykład:
F(3) = 2
3 mod 2 = 1, więc i = 3 jest czynnikiem liczby 3.
F(4) = 2
4 mod 2 = 0, więc i = 2 jest czynnikiem liczby 4.