A KöMaL 2002. novemberi informatika feladatai
Kérjük, ha még nem tetted meg, olvasd el a versenykiírást.
Feladat típusok elrejtése/megmutatása:
![]() |
I-jelű feladatokA beküldési határidő 2002. december 15-én LEJÁRT. |
I. 34. A binomiális együtthatók felhasználhatók számok speciális számrendszerben, az ún. binomiális számrendszerben való felírására. Rögzített \(\displaystyle m\) (\(\displaystyle 2\le m \le 50\)) esetén minden nemnegatív \(\displaystyle n\) (\(\displaystyle 0 \le n \le 10\,000\)) szám egyértelműen felírható az alábbi formában: \(\displaystyle n = {a_1\choose 1} + {a_2\choose 2} + \dots + {a_m\choose m}\), ahol \(\displaystyle 0 \le a_1 < a_2 < \dots < a_m\).
Készítsünk programot (I34.pas, ...), amely beolvassa \(\displaystyle n\) és \(\displaystyle m\) értékét, majd kiírja a hozzá tartozó \(\displaystyle a_1,a_2,\dots, a_m\) értékét!
Pl.: \(\displaystyle n=41\) esetén \(\displaystyle a_1 = 1\), \(\displaystyle a_2 = 2\), \(\displaystyle a_3 = 4\), \(\displaystyle a_4 = 7\), azaz
\(\displaystyle 41 = {1\choose 1} +{2\choose 2} +{4\choose 3}+ {7\choose 4} = 1 + 1 + 4 + 35. \)
(10 pont)
I. 35. Egy \(\displaystyle R\) sugarú, \(\displaystyle H\) magasságú henger palástja alján elhelyezünk egy hangyát. A hangya percenként \(\displaystyle M\) centimétert mászik felfelé. A hengert tengelye (ami a koordinátarendszer \(\displaystyle Z\) tengelye) körül megforgatjuk az óramutató járásával ellentétes irányban, egy fordulatot \(\displaystyle T\) perc alatt tesz meg. A hangya az \(\displaystyle (R,0,0)\) pontból indul, és pályáját az \(\displaystyle Y=0\) síkra vetítjük. A vetítősugarak az \(\displaystyle Y\)-tengellyel ALFA fok szöget zárnak be (1. ábra).

1. ábra
Készítsünk programot (I35.pas, ...), amely beolvassa \(\displaystyle R\) (\(\displaystyle 1 \le R \le 50\)), \(\displaystyle H\) (\(\displaystyle 1 \le H \le 200\)), \(\displaystyle M\) (\(\displaystyle 1 \le M \le H\)), \(\displaystyle T\) (\(\displaystyle 1 \le T \le 100\)) és ALFA (\(\displaystyle 0 \le \text{\emph{ALFA}}<90\)) értékét, majd az \(\displaystyle Y\)=0 síkra vetített ábrát rajzol a hangya pályájáról a henger látható oldalán folytonos, hátoldalán pedig pontozott vonallal.
\(\displaystyle R=50\), \(\displaystyle H=200\), \(\displaystyle M=1\), \(\displaystyle T=40\), \(\displaystyle \text{\emph{ALFA}}=30\) esetén a 2. ábrán látható rajzot kapjuk.

2. ábra
(10 pont)
I. 36. A trinomiális tétel szerint:
\(\displaystyle {(x+y+z)}^n = \sum_{\textstyle{0 \le a,b,c \le n\atop a+b+c=n}} {a+b+c\choose a,b,c} x^ay^bz^c. \)
A képletben használt zárójeles formula az ún. trinomiális együtthatókat tartalmazza, melyeket az alábbi képlettel is számolhatunk:
\(\displaystyle {a+b+c\choose a,b,c} = \frac{(a+b+c)!}{a!b!c!}. \)
Az ebben a képletben szereplő faktoriális értékek azonban túlságosan nagyok, így kiszámításuk nem mindig végezhető el. A trinomiális együtthatók kiszámítása azonban visszavezethető binomiális együtthatók szorzatára is, ami ezt a problémát megoldja.
Készítsünk táblázatot (I36.xls), amelynek egy adott mezőjébe beírva \(\displaystyle n\) (\(\displaystyle n= a+b+c\), \(\displaystyle n \le \)20) értékét, az alábbi jellegű táblázatot kapjuk a trinomiális együtthatókról!
Példa: \(\displaystyle n=5\) esetén a táblázat:
\(\displaystyle {|r|r|r|r|r|r|r|} \hline \multicolumn{1}{|l|}{a/b}&\textbf{0}&\textbf{1}&\textbf{2}&\textbf{3}&\textbf{4}&\textbf{5}\\ \hline 0&1&5&10&10&5&1\\ \hline 1&5&20&30&20&5&0\\ \hline \quad 2&\qquad 10&\qquad 30&\qquad 30&\qquad 10&\qquad \phantom{1}0&\qquad \phantom{1}0\\ \hline 3&10&20&10&0&0&0\\ \hline 4&5&5&0&0&0&0\\ \hline 5&1&0&0&0&0&0\\ \hline \)
\(\displaystyle
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.
