Jak zapisać wzór takiej funkcji albo algorytmu?
M.B: Nie bardzo wiem jak mógłbym zapisać coś takiego za pomocą wzoru/algorytmu:
załóżmy, że istnieją takie liczby j, b, n, naturalne gdzie j<b i j+b=n, np. j=3, b=7, n=10
1) Chciałbym, żeby dla każdego n ≤ j wartość była równa n+1 (czyli wraz ze wzrostem n o 1 rosła
wartość o 1)
2) Dla j< n ≤ b wartość była równa j+1 (czyli była jakąś stałą, w podanym przypadku 4)
3) Dla n > b wartość była równa n − 1 (czyli wraz ze wzrostem n (od n=b+1 do n=j+b) o 1 wartość
malała o 1)
Czy w jakiś uporządkowany sposób (wzorami, może za pomocą nawiasu z warunkami) da się
coś takiego zapisać?
Napisałem coś takiego:
⎧ | n+1 dla n≤j | |
⎨ | j+1 dla j<n≤b |
|
⎩ | n−1 dla n>b | |
Czy coś takie ma w ogóle sens w tym przypadku?
24 paź 21:38
wredulus_pospolitus:
skoro liczby są naturalne i j+b = n, to:
1) n ≤ j zachodzi tylko gdy j = n ; b = 0 (czy 0 jest liczbą naturalną
pytanie do Ciebie)
2) n ≤ b zachodzi tylko jeżeli b = n ; j = 0 (ponownie pytanie o 0 jako liczba naturalna)
3) n > b <−−− dla każdego innego przypadku niż (2) ... w tym także zachodzi dla przypadku (1)
(0 ile nie masz j = b = n = 0), więc co niby ma Ci program wywalić? (n−1) czy (n+1) skoro
zachodzą oba warunki (zarówno (1) jak i (3)
)
24 paź 21:45
M.B: Chodzi mi o wzór/algorytm na coś takiego:
mam b nierozróżnialnych brzoskwiń i j nierozróżnialnych jabłek, chce policzyć ile niepustych
podzbiorów z tego ułożę, ale w taki sposób:
Niech to będą n−elementowe podzbiory (czyli n od 1 do j+b)
Tworzę sumy dla każdego n od 1 do j+b które są właśnie w takiej postaci j+b=n
Przykładowo gdy n=3 to dla np. j=1 i b=5 mam takie sumy możliwe: 0+3, 1+2, 2+1.
Rozpatrzmy przypadek, że jabłek jest 3, a brzoskwiń 5:
Dopóki nie zabraknie samych jabłek do wypełnienia n elementowego zbioru
to takich sum dla n mam n+1.
W momencie kiedy braknie (czyli dla n=4) to sum mam tyle ile było dla n=3 i jest ich tyle do
momentu aż starczy brzoskwiń na wypełnienie całego zbioru czyli do n=5
Od n=6 nie mogę wypełnić zbioru samymi brzoskwiniami, i od n=6 do n=j+b=8 mam sum n−1 dla
odpowiedniego n.
Chciałbym to zapisać pewnym wzorem, żeby było to uporządkowane.
25 paź 00:48
M.B: Przepraszam za błąd w tej części:
"Od n=6 nie mogę wypełnić zbioru samymi brzoskwiniami, i od n=6 do n=j+b=8 mam sum n−1 dla
odpowiedniego n."
Od n=6 nie mogę wypełnić zbioru samymi brzoskwiniami, i od n=6 do n=j+b=8 z każdym wzrostem n
o 1 liczba sum maleje o 1, czyli dla n=6 sum mam 3, dla n=7 mam sum 2, a dla n=8 tylko 1 sumę.
25 paź 01:00
wredulus_pospolitus:
W przykładzie masz:
j =
3 ; b = 5 ; n = 3
to wtedy:
0+3 ; 1+2 ; 2+1 ; 3+0
1) Wprowadź 'j'
2) Wprowadź 'b'
3) Wprowadź 'n'
4) Min(j,b) = m ;
j+b − a = M ;
5) If(n > j+b);
wynik = 0;
6) If(n =< m);
wynik = n+1;
Else
If(n =< M);
wynik = m+1;
Else
wynik = j+b+1 − n;
Powinno się zgadzać.
25 paź 01:16
wredulus_pospolitus:
*poprawka do (4)
j+b − m = M
25 paź 02:54