0243 - Sir1: Diferență între versiuni
De la Universitas MediaWiki
(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...) |
|||
Linia 2: | Linia 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 == |
Versiunea de la data 9 ianuarie 2023 19:43
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
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)