Az I. 514. feladat (2020. szeptember) |
I. 514. A helyiértékes számrendszerekben a számok számjegyeit a számrendszer alapszámának megfelelő hatványával szorozzuk, hogy megkapjuk a szám értékét. Például a 143 esetében \(\displaystyle 1\cdot {10}^{2}+4\cdot {10}^{1}+3\cdot {10}^{0}\), azaz \(\displaystyle 100+40+3\) a szám értéke. A negatív számokat egy előjellel jelöljük, de a felírás itt is ugyanúgy történik. Ha azonban alapszámnak egy negatív számot választunk, akkor nem lesz szükségünk előjelre. Legyen a számrendszer alapszáma \(\displaystyle -10\). Ekkor a \(\displaystyle -10\) alapú számrendszerben felírt szám számjegyeit \(\displaystyle -10\) hatványaival szorozzuk, tehát a \(\displaystyle {345}_{-10}\) szám értéke \(\displaystyle 3\cdot {(-10)}^{2}+4\cdot {(-10)}^{1}+5\cdot {(-10)}^{0}\), vagyis 265. Könnyen belátható, hogy a \(\displaystyle -10\) alapú számrendszerben is egyértelmű a számok felírása, de nincs szükség a negatív számok esetében az előjelre. Például \(\displaystyle -25=-30+5\), tehát \(\displaystyle -10\) alapú számrendszerben \(\displaystyle 35_{-10}\).
Készítsünk programot, amely \(\displaystyle N\) darab 10-es számrendszerben megadott számot átvált \(\displaystyle -10\)-es számrendszerbe. A program a standard bemenet első sorából olvassa be az átváltandó számok darabszámát (\(\displaystyle 1\le N\le 100\)), majd a következő \(\displaystyle N\) sorból az átváltandó \(\displaystyle A\) számokat (\(\displaystyle |A|\le {10}^{9}\)), és írja a standard kimenet \(\displaystyle N\) darab sorába a számok felírását \(\displaystyle -10\) alapú számrendszerben.
Példa:
Beküldendő egy tömörített i514.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
(10 pont)
A beküldési határidő 2020. október 15-én LEJÁRT.
Mintamegoldásként Bagladi Milán Zsolt 10-edik osztályos Nagykanizsai versenyző C++ nyelvű megoldását (i514bmzs.cpp), Bogár-Szabó Mihály Kecskeméti, 9-edik évfolyamos diák Java nyelven készült megoldását (i514bszm.java) valamint Ürmössy Dorottya 12-edikes Budapesti tanuló Python nyelven készült megoldását (i514.py) adjuk közre.
Statisztika:
22 dolgozat érkezett. 10 pontot kapott: Bagladi Milán Zsolt, Baldauf Márton, Bogár-Szabó Mihály, Horcsin Bálint, Kaltenecker Balázs Bence, Nagy 292 Korina, Papp Marcell Miklós, Szabó Máté, Tóth 057 Bálint, Tóth 211 Bence, Tóth Ambrus, Ürmössy Dorottya. 9 pontot kapott: Borbély-Bartis Gergely, Gyönki Dominik, Kmeczó András, Némethi Bence, Vadász Levente Márton. 7 pontot kapott: 1 versenyző. 5 pontot kapott: 2 versenyző. 3 pontot kapott: 1 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2020. szeptemberi informatika feladatai