Branko pred zverejnením úloh potrebuje skontrolovať, ktorí vedúci už zadanie svojej úlohy napísali, a ktorí ešte nie. Stránka mu ale nepovie, ktoré úlohy už zadania majú a ktoré nie. Namiesto toho iba pozná súčet čísel úloh, ktoré zadanie napísané už majú. Janko mu však povedal, že všetci vedúci okrem jedného už svoje zadanie napísali. Ako ale zistí, ktorá úloha ešte zadanie nemá?
Úlohy číslujeme od 1 po $n$. Branko vidí číslo $x$, ktoré je súčtom čísel úloh s hotovými zadaniami od 1 po $n$. V tomto súčte ale nie je započítané číslo $m$ práve jednej úlohy, ktorá ešte zadanie hotové nemá. Platí teda:
$x = (1 + 2 + \dots + (n-1) + n) - m$
kde $1 \leq m \leq n$.
Pomôžte Brankovi zistiť číslo chýbajúcej úlohy $m$.
Na vstupe je zadané jedno kladné celé číslo $x$ - súčet celých čísel od $1$ po $n$, v ktorom nie je započítané práve jedno číslo $1 \leq m \leq n$.
Na výstupe vypíšete jedno kladné celé číslo $m$, ktoré nebolo započítané do súčtu $x$.
V jednotlivých sadách platia nasledovné obmedzenia:
| Sada | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| $1 \leq n, m \leq$ | $10$ | $10^5$ | $6 \times 10^{7}$ | $10^{8}$ |
| $2 \leq x \leq$ | $55$ | $10^{10}$ | $4 \times 10^{15}$ | $5 \times 10^{15}$ |
Pozor, všimnite si, že výsledok nemôže byť 0
Pozor, pri práci s desatinnými číslami väčšími ako $10^{14}$ môžu nastať zaokrúhľovacie chyby. Preto pri celočíselnom delení používajte a//b namiesto int(a/b). Desatinné čísla v pythone sú nepresnejšie, čím väčšie číslo sa snažíme nimi uložiť. Napríklad v pythone neexistuje desatinné číslo $10^{15} + 1$, python preto použije najbližšie a to $10^{15} + 2$. Keď použijeme štandardné /, python pracuje s desatinnými číslami, preto sa tu deje takéto zaokrúhľovanie. Naopak, pri // python pracuje s celými číslami, kde si zachováva plnú presnosť. V C++ stačí použiť typ long double.
9
1
9 je súčtom čísel od 1 po 4, kde 1 je chýbajúce číslo
29
7
36 je súčtom čísel od 1 po 8, po odčítaní 7 je to 29
Súťaž PRASK zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre stredoškolákov
Tímová matematicko-fyzikálna súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania