2995 - Finserare: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 18: | Line 18: | ||
===Rezolvare ver. 1=== | ===Rezolvare ver. 1=== | ||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def validare(n): | |||
return 10 <= int(n) <= 99999 | |||
def inserare(n): | def inserare(n): | ||
n_str = str(n) | n_str = str(n) | ||
result = n_str[0] | result = n_str[0] | ||
for i in range(1, len(n_str)): | for i in range(1, len(n_str)): | ||
diff = abs(int(n_str[i]) - int(n_str[i-1])) | diff = abs(int(n_str[i]) - int(n_str[i - 1])) | ||
result += str(diff) + n_str[i] | result += str(diff) + n_str[i] | ||
return int(result) | return int(result) | ||
Line 36: | Line 32: | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = | n = input("Introduceți un număr natural: ") | ||
if validare(n): | |||
n = int(n) | |||
print("Datele introduse corespund restricțiilor impuse") | |||
n = inserare(n) | n = inserare(n) | ||
print(n) | print(n) | ||
else: | |||
print( | print("Datele introduse nu corespund restricțiilor impuse") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 20:35, 19 March 2023
Cerință
Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează prin intermediul aceluiași parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a diferenței acestora.
Restricții de precizări
- 10 ≤ n ≤ 99999
- Puteți apela funcția matematică abs.
Exemplul 1
Dacă n = 7255, atunci, după apelul inserare(n) valoarea lui n va fi 7523505.
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n):
return 10 <= int(n) <= 99999
def inserare(n):
n_str = str(n) result = n_str[0] for i in range(1, len(n_str)): diff = abs(int(n_str[i]) - int(n_str[i - 1])) result += str(diff) + n_str[i] return int(result)
if __name__ == '__main__':
n = input("Introduceți un număr natural: ") if validare(n): n = int(n) print("Datele introduse corespund restricțiilor impuse") n = inserare(n) print(n) else: print("Datele introduse nu corespund restricțiilor impuse")
</syntaxhighlight>