Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 03. 11. 2015 13:12

misha2015
Zelenáč
Příspěvky: 13
Reputace:   
 

programování

Napište program, který dostane na první řádce vstupu číslo N.

Na druhé řádce bude N čísel, které odpovídají celočíselným zbytkům po dělení čísel po řadě: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29.

A zrekonstruuje z ních původní číslo X, které je reprezentováno těmito zbytky.

Vaším úkolem je vypsat neznámé číslo X.

Příklad 1:

Vstup:
4
1 1 1 1

Výstup:
1

Příklad 2:

Vstup:
4
1 1 0 4

Výstup:
25               
v Pascalu

Offline

  • (téma jako vyřešené označil(a) misha2015)

#2 03. 11. 2015 13:56 — Editoval Formol (03. 11. 2015 13:57)

Formol
Místo: Praha
Příspěvky: 782
Pozice: krotitel mikroskopů (UHIEM 1. LF UK)
Reputace:   42 
 

Re: programování

↑ misha2015:
Ahoj,
finta je jednoduchá. Označme si neznámé číslo X, zbytek po dělení prvočíslem p Rp a násobek prvočísla Mp. Pak jistě pro tvoje neznámé číslo platí:
$X = p M_p + R_p$

Když bude např. N=3, pak budeš mít soustavu rovnic:
$X = 2 M_2 + R_2$
$X = 3 M_3 + R_3$
$X = 5 M_5 + R_5$

Protože Rp máš zadané, můžeš si to upravit do tvaru:
$X - 2 M_2 = R_2$
$X - 3 M_3 = R_3$
$X - 5 M_5 = R_5$

Tedy máš soustavu tří rovnic pro čtyři neznámé (X, M2, M3, M5). Pokud má taková soustava řešení, je jich nekonečně mnoho, vesměs neceločiselných. Podobně pro n prvočísel by soustava měla n+1 rovnic. Ještě taková poznámka, podle tvaru matice soustavy lze uhádnout, že bude mít řešení vždy.

Tak jak najít řešení? Nejlépe na papíře ;-) Řešení bude záviset na parametru. Parametr si zvolíme X. Pak pro neznámé Mp vyjde:
$M_p = \frac{X - R_p}{p}$

Tedy hledáš nejmenší takové celočíselné X, pro které je podíl $\frac{X - R_p}{p}$ ve všech zvolených prvočíslech celočíselný. Tj. např. pokud zadáš N=2 a zbytky 1 a 2, tak hledáš nejmenší takové číslo, pro které budou celočíselné zlomky:
$\frac{X - 1}{2}$
a
$\frac{X - 2}{3}$

Ještě k otázce celočíselnosti toho zlomku. Nejsnazší způsob testování je prostě testovat zbytek po dělení čitatele jmenovatelem na nulovost.

(Šlo to trochu oklikou, ale jde mi o to, abys viděla, že ten myšlenkový postup není vůbec složitý.)


Доктор сказал «в морг» — значит в морг!

Offline

 

#3 03. 11. 2015 16:28

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 869
Reputace:   62 
 

Re: programování

Zdravím,
vím že ti to asi na nic nebude, ale prostě mě to nedalo :-) :


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson