Zozobane zrniecka oznacim a1, a2, a3 (co zozobal prvy az treti vtak), kolko tam bolo povodne ozncim x.
Postupov moze byt viac, da sa spocitat si hranice pre x ako to robil los, alebo zlozito napr. upravou nerovnic pre a1, a2, a3:
Prvy zozobal kazde stvrte: 4*a1 <= x < 4*(a1+1)
Druhy zozobal kazde piate z toho co tam ostalo: 5*a2 <= (x-a1) < 5*(a2+1), z toho: 5*a2+a1 <= x < 5*a2+5+a1
Treti zozobal kazde tretie z toho co tam ostalo: 3*a3 <= (x-a1-a2) < 3*(a3+1), z toho: 3*a3+a1+a2 <= x < 3*a3+3+a1+a2
A viem ze a1+a2+a3 = 79, teda: a1=79-a2-a3, to najprv dosadim do vyssieuvedenych nerovnic aby som z nich vyhodil a1:
4*(79-a2-a3) <= x < 4*(79-a2-a3)+4, a teda: 316-4*a2-4*a3 <= x < 320-4*a2-4*a3
5*a2+79-a2-a3 <= x < 5*a2+5+79-a2-a3, a teda: 79+4*a2-a3 <= x < 84+4*a2-a3
3*a3+a2+79-a2-a3 <= x < 3*a3+3+a2+79-a2-a3, a teda: 79+2*a3 <= x < 82+2*a3
Podla vety "ak a>x>c, tak a>c" (to iste plati aj ak a>=x>c), mam z toho 6 jednoduchsich nerovnic (skombinujem lavu stranu z 1. z pravou stranou 2. a 3. a pravu z 1. a lavu z 2. a 3., a lavu 2. s pravou 3. a naopak), navyse aj vypadne z nerovnic x), nerovnice z rovnakeho riadku platia vzdy (316<320, 79<84, 79<82)
316-4*a2-4*a3 < 84+4*a2-a3, z toho: 232 < 8*a2 + 3*a3
316-4*a2-4*a3 < 82+2*a3, z toho: 234 < 4*a2 + 6*a3
79+4*a2-a3 < 320-4*a2-4*a3, z toho: 8*a2 + 3*a3 < 241
79+2*a3 < 320-4*a2-4*a3, z toho: 4*a2 + 6*a3 < 241
79+4*a2-a3 < 82+2*a3, z toho: 4*a2-3*a3 < 3
79+2*a3 < 84+4*a2-a3, z toho: 3*a3-4*a2 < 5
Vyjadrim si z nich a2 nech to mozem pospajat:
232 < 8*a2 + 3*a3, z toho: (232-3*a3)/8 < a2
234 < 4*a2 + 6*a3, z toho: (234-6*a3)/4 < a2
8*a2 + 3*a3 < 241, z toho: a2 < (241-3*a3)/8
4*a2 + 6*a3 < 241, z toho: a2 < (241-6*a3)/4
4*a2-3*a3 < 3, z toho: a2 < (3*a3+3)/4
3*a3-4*a2 < 5, z toho: (3*a3-5)/4 < a2
Pospajam (musi platit vsetky mozne kombinacie, 1.+3., 1.+4., 1.+5., 2.+3., 2.+4., 2.+5., 3.+6., 4.+6., 5.+6.):
(232-3*a3)/8 < (241-3*a3)/8, z toho: 232 < 241 (plati vzdy)
(232-3*a3)/8 < (241-6*a3)/4, z toho: a3 < 27.77
(232-3*a3)/8 < (3*a3+3)/4, z toho: 25.11 < a3
(234-6*a3)/4 < (241-3*a3)/8, z toho: 25.22 < a3
(234-6*a3)/4 < (241-6*a3)/4, z toho: 234 < 241 (plati vzdy)
(234-6*a3)/4 < (3*a3+3)/4, z toho: 25.66 < a3
(3*a3-5)/4 < (241-3*a3)/8, z toho: a3 < 27.88
(3*a3-5)/4 < (241-6*a3)/4, z toho: a3 < 27.33
(3*a3-5)/4 < (3*a3+3)/4, z toho: -5 < 3 (plati vzdy).
Takze a3 moze byt 26 alebo 27:
1. nech a3=26, potom z nerovnic vyssie: a2>19.25, a2>19.5, a2<20.375, a2<21.25, a2<21.25, a2>18.25, z toho vyplyva a2=20.
a1=79-a2-a3, a1=33.
Potom pre x plati: 132 <= x < 136, 133 <= x < 138, 131 <= x < 134
T.j. 133 <= x < 134, t.j. x=133
2. nech a3=27, potom z nerovnic vyssie: a2>18.875, a2>18, a2<20, a2<19.75, a2<21, a2>19, t.j. medzi 19 a 19.75, take cele a2 ale neexistuje, jedine riesenie je to predchadzajuce (x=133).
Dalo sa to mozno aj jednoduchsie nejakym pracovanim s operaciou "cela_cast_z", ale zrovna ma ziaden taky postup nenapada.