0243 - Sir1: Difference between revisions
Pagină nouă: == 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... |
Cosmin.SABO (talk | contribs) |
||
Line 2: | Line 2: | ||
== Cerință == | == Cerință == | ||
Se consideră şirul | Se consideră şirul <math>1, 2,1, 3,2,1, 4,3,2,1, ...,</math> în care prima grupă este formată din numărul <math>1</math>, a doua grupă este formată din numerele <math>2,1</math>, a <math>k</math>-a grupă este formată din numerele <math>k, k-1,...,2,1</math>. | ||
Pentru un număr natural dat n, să se determine al n-lea termen din şir. | Pentru un număr natural dat <math>n</math>, să se determine al <math>n</math>-lea termen din şir. | ||
== Date de intrare == | == Date de intrare == |
Revision as of 19:43, 9 January 2023
Cerință
Se consideră şirul în care prima grupă este formată din numărul , a doua grupă este formată din numerele , a -a grupă este formată din numerele .
Pentru un număr natural dat , să se determine al -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>