Konkursy, zadanie nr 115
ostatnie wiadomości | regulamin | latex
Autor | Zadanie / Rozwiązanie |
frantic89 postów: 1 | 2013-02-27 00:35:17 Witam, pewnie proste ale nie mogę na to wpaść $\frac{x}{y}$mod1=$\frac{1}{M}$ I tutaj pytanie: 1) Jak obliczyć x gdy znane jest y i M 2) Jak obliczyć y gdy znane jest x i M Warunki: -x i y mogą być liczbami rzeczywistymi. -x > y . -M jest liczbą całkowitą. Nie wiem czy to takie proste, czy ja czegoś nie widzę Z góry WIELKIE DZIĘKI ZA POMOC!! |
zorro postów: 106 | 2013-03-14 09:56:35 Nie ma jednego rozwiązania, gdyż równanie $\frac{x}{y}mod1=\frac{1}{M}$ opisuje wszystkie ilorazy, których reszta wynosi $\frac{1}{M}$. Zauważ, że dzielenie ilorazu dwóch liczb przez 1 oznacza właśnie ten iloraz. Dzielenie liczby a mod(b) oznacza resztę z dzielenia a przez b. Zatem dzielenie mod1 oznacza po prostu tę część wyniku , która jest po przecinku (to właśnie jest reszta z dzielenia przez 1). Część całkowita może być więc dowolna, tylko reszta ma być jak podano ułamkiem wymiernym właściwym. Innymi słowy aby spełnić wymagania musi być: $\frac{x}{y}=k+\frac{1}{M}$ gdzie: $k=0,\pm1,\pm2...$ - liczba całkowita zleżna od x,y,M Przekształcając tą równość możesz wyliczyć zarówno x jak i y: $x=\frac{k*M+1}{M}y$ $y=\frac{M}{k*M+1}x$ Określenie zbioru rozwiązań wiąże się ze znalezieniem możliwych do wstawienia liczb k. Powiedziałbym, że przypadek M>0 jest tu najwłaściwszy, gdyż przyjmuje się resztę z dzielenia (a modulo b) dodatnią. Wówczas dzielenie modulo 1 można opisać funkcją int(x), czyli część całkowita liczby x. Każdą liczbę x można zawrzeć między kolejnymi liczbami całkowitymi w ten sposób aby: $C\le x <C+1$ wówczas $[x]=C$ W takim razie $r(x)= x mod 1 =x-[x]$ ale zawsze: $x\ge[x]\Rightarrow r(x)\ge 0$ Rozważamy więc tylko przypadki gdy M>0 1. $ x>y ,y>0 \Rightarrow \frac{x}{y}>1 \Rightarrow k\ge1 $ $x=\frac{k*M+1}{M}y, \space\space k=1,2,3,...$ 2. $x>y \space ,y<0 ,\Rightarrow (k-\frac{1}{M})y>y \Rightarrow k+\frac{1}{M}<1 \Rightarrow k<1-\frac{1}{M} \Rightarrow k\le0$ $x=\frac{k*M+1}{M}y, \space\space k=2,3,4...$ "y" obliczamy przy identycznych założeniach z drugiego wzoru. Wiadomość była modyfikowana 2013-03-14 20:13:54 przez zorro |
zorro postów: 106 | 2013-03-14 20:11:09 Coś o "resztach ujemnych": W treści zadania napisałeś, że M jest liczbą całkowitą. Gdyby przyjąć M<0, wówczas musielibyśmy zmienić konwencję reprezentacji liczb rzeczywistych. W poprzednich rozważaniach braliśmy liczby wymierne z niedomiarem, które z dowolną dokładnością przybliżały liczby rzeczywiste na zasadzie, że: $[x] \le x < [x]+1$ Część całkowita (cecha)jest tu zawsze mniejsza od danej liczby, a reszta (mantysa) dodatnia. Przyjmując inne założenie, mianowicie: $[x] < x \le [x]+1$ Otrzymamy system, w którym część całkowita (cecha) jest zawsze większa od danej liczby, zaś reszta (mantysa) jest UJEMNA. Nie można jednak mieszać tych dwóch systemów między sobą bo dla każdego z nich inna jest definicja podzielności liczb! Dla $b\neq 0$ Klasycznie jest: $\frac{a}{b}=k $ z resztą r>0 $\iff a=b*k+r$ wówczas $k=[\frac{a}{b}]$ W drugim systemie byłoby: $\frac{a}{b}=k $ z resztą r<0 $ \iff a=b*k-|r|$ wówczas $k=[\frac{a}{b}]+1$ Widać, więc że nie można zdefiniować jednoznacznie dzielenia modulo jeśli nie przyjmie się jednej umowy konsekwentnie. (prowadzi to do sprzeczności gdyż $(a) mod (b) = r ,\space \wedge \space (a) mod (b)=-r \Rightarrow r=-r$) Wniosek: Dla M<0 zadanie można rozwiązać w identyczny sposób jak poprzednio, pamiętając jednak, że x mod1 oznaczać tu będzie $x-([x]+1)<0$ (odmiennie niż przyjmuje się standardowo) W rozważaniu tym chciałem tylko pokazać, że przyjęcie innych założeń prowadzi także do poprawnych wyników jeśli być konsekwentnym. |
strony: 1 |
Prawo do pisania przysługuje tylko zalogowanym użytkownikom. Zaloguj się lub zarejestruj