0243 - Sir1
Cerință
Se consideră şirul 1, 2,1, 3,2,1, 4,3,2,1, ..., în care prima grupă este formată din numărul 1, a doua grupă este formată din numerele 2,1, …, a k-a grupă este formată din numerele k,k-1,...,2,1.
Pentru un număr natural dat n, să se determine al n-lea termen din şir.
Date de intrare
Programul citeşte de la tastatură numărul n
Date de ieșire
Programul va afişa pe ecran numărul x, reprezentând al n-lea termen din şir.
Restricții și precizări
1 ≤ n ≤ 1.000.000.000
Exemplu
Date de intrare: 14
Date de ieșire: 2
Rezolvare
<syntaxhighlight lang="python" line> if __name__ == "__main__":
i = 1 s = 0 n = int(input()) while s + i <= n: s += i i += 1 if s == n: print(1) else: print(i + 1 - n % s)
</syntaxhighlight>