SZUKAJ NA TYM BLOGU

Zadanie 3.1. (0–1) ()

 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.PF
2.Dla każdej liczby parzystej x wartość F(x) jest parzysta.PF
3.Dla każdej liczby parzystej x wartość G(x) jest parzysta.PF
4.Dla każdej liczby x większej od 2 F(x) dzieli liczbę x.PF
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.