Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
1153 - -Verif Nr Par Cifre Div Imp
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Cerința == Se dă un şir cu n elemente, numere naturale. Folosind metoda Divide et Impera să se verifice dacă toate elementele şirului au număr par de cifre. == Date de intrare == Programul citește de la tastatură numărul n, iar apoi cele n elemente ale şirului, separate prin spaţii. == Date de ieșire == Programul afișează pe ecran mesajul DA, dacă toate elementele şirului au număr par de cifre, respectiv NU în caz contrar. == Restricții si precizări: == * 1 ≤ n ≤ 100 * elementele şirului sunt numere naturale nenule cu cel mult 9 cifre === Exemplu === '''Date de intrare''' 5 2820 82 65 1026 84 '''Date de iesire''' DA == Rezolvare == <syntaxhighlight lang="python"> def citire(): n = 0 while n < 1 or n > 100: try: n = int(input("Introduceti un numar intreg intre 1 si 100 inclusiv: ")) if n < 1 or n > 100: print("Numarul introdus nu este in intervalul dorit. Incercati din nou.") except ValueError: print("Introduceti un numar intreg valid.") v = [0] * n for i in range(n): valid_input = False while not valid_input: try: v[i] = int(input(f"Introduceti elementul {i + 1} (un numar natural nenul cu cel mult 9 cifre): ")) if 0 < v[i] <= 999999999: # Verificare pentru numere naturale nenule cu cel mult 9 cifre valid_input = True else: print("Numarul introdus nu corespunde criteriilor. Incercati din nou.") except ValueError: print("Introduceti un numar intreg valid.") return n, v def nrcif(st, dr, v): if st == dr: cnt = 1 while v[st] > 9: v[st] //= 10 cnt += 1 return cnt % 2 == 0 else: m = (st + dr) // 2 R1 = nrcif(st, m, v) R2 = nrcif(m + 1, dr, v) return R1 and R2 def main(): n, v = citire() if nrcif(0, n - 1, v): print("DA") else: print("NU") if __name__ == "__main__": main() </syntaxhighlight>
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width