1464 - Sir7
Context
Ionuț este pasionat de numere. Într-o zi , Ionuț a găsit o foaie și, pornind de la cifra 9, a construit un șir S de numere naturale nenule ai cărui primi termeni sunt: 9 19 39 49 69 79 99 109 129 139 159...............
În altă zi, pornind de la cifra 7, a construit șirul 7 17 37 47 67 77 97 107 127 137 157...............
În altă zi, Ionuț a construit același șir pornind de la cifra P.
Cerinţa
Scrieți un algoritm care determină, pornind de la cifra cifra_start, cel de-al numar_termen-lea termen al sirului S.
Date de intrare
Se citesc de la tastatură cifra_start și numar_termen cu semnificația din enunț.
Date de ieșire
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse.", pe rândul următor, programul va afișa pe ecran un număr natural reprezentând cel de-al numar_termen-lea termen al șirului S. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa "Datele de intrare nu corespund restricțiilor impuse.".
Restricţii şi precizări
- cifra_start, numar_termen ∈ ℕ
- 1 ⩽ cifra_start ⩽ 9
- 2 ⩽ numar_termen ⩽ 109
Exemplu
- Intrare
- 9
- 10
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 139
- Intrare
- abc
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
- Intrare
- -25
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line>
- 1464 - Sir7
def validare_date_cifra_start(numar):
if numar.isdigit(): if 1 <= int(numar) <= 9: return True else: return False else: return False
def validare_date_numar_termen(numar):
if numar.isdigit(): if 2 <= int(numar) <= 10**9: return True else: return False else: return False
def sir7(cifra_start, numar_termen):
if numar_termen % 2 == 0: print(numar_termen // 2 + numar_termen - 2, end="") print(cifra_start) else: print(numar_termen // 2 + numar_termen - 1, end="") print(cifra_start)
if __name__ == "__main__":
cifra_start = input() if validare_date_cifra_start(cifra_start): cifra_start = int(cifra_start) numar_termen = input() if validare_date_numar_termen(numar_termen): numar_termen = int(numar_termen) print("Datele de intrare corespund restricțiilor impuse.") sir7(cifra_start, numar_termen) else: print("Datele de intrare nu corespund restricțiilor impuse.") else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>