<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miriam</id>
	<title>Bitnami MediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miriam"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/wiki/Special:Contributions/Miriam"/>
	<updated>2026-05-01T04:29:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=E:15714&amp;diff=8955</id>
		<title>E:15714</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=E:15714&amp;diff=8955"/>
		<updated>2024-01-04T09:45:54Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;E:15714 (Traian Covaciu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Se consideră mulțimea numerelor naturale de patru cifre, cifre care, într-o anumită ordine, sunt consecutive. Determinați probabilitatea ca, alegând la întâmplare un număr din această mulțime, acesta să fie divizibil cu 36.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soluție&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avem următoarele posibilități de a alege patru cifre consecutive: 0, 1, 2, 3; 1, 2, 3, 4; 2, 3, 4, 5; . . ., 6, 7, 8, 9. Cu acestea putem forma 18 + 6 &#039;&#039;&#039;·&#039;&#039;&#039; 24 = 162 numere. Acestea sunt cazurile posibile. Numerele divizibile cu 36 trebuie să se dividă cu 9 și cu 4. Pentru a fi divizibil cu 9 suma cifrelor trebuie să se dividă cu 9. Convine numai grupa 3, 4, 5, 6. Pentru a fi divizibil cu 4 numărul format din ultimele două cifre trebuie să se dividă cu 4. Obținem numerele 4536, 5436, 3456, 4356, 3564, 5364. Avem deci 6 cazuri favoriabile. Probabilitatea este &amp;lt;math&amp;gt;{1 \over27}&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2340_%E2%80%93_Sum%C4%83_Min_Max&amp;diff=3730</id>
		<title>2340 – Sumă Min Max</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2340_%E2%80%93_Sum%C4%83_Min_Max&amp;diff=3730"/>
		<updated>2023-04-15T21:23:21Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2340/sumaminmax Suma Min Max]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Scrieți funcția &amp;lt;code&amp;gt;sumaMinMax&amp;lt;/code&amp;gt; care primește ca parametri un tablou unidimensional sir format din &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Funcția va returna un vector cu două elemente, primul element reprezentând cea mai mică sumă formată din exact &amp;lt;code&amp;gt;n-1&amp;lt;/code&amp;gt; elemente dintre cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; ale lui sir, iar cel de-al doilea element reprezentând cea mai mare sumă formată din exact &amp;lt;code&amp;gt;n-1&amp;lt;/code&amp;gt; elemente dintre cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; ale lui sit.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, care conține cele 2 valori menționate mai sus. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 1 și 50&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:1 2 3 4 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:[10, 14]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:13 23 2 3 1 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:[25, 47]&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:132 13 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 1 &amp;lt;= int(i) &amp;lt; 50:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_min_max(sir, n):&lt;br /&gt;
    sir.sort()&lt;br /&gt;
    min_sum = 0&lt;br /&gt;
    for i in range(n - 1):&lt;br /&gt;
        min_sum += sir[i]&lt;br /&gt;
    max_sum = 0&lt;br /&gt;
    for i in range(1, n):&lt;br /&gt;
        max_sum += sir[i]&lt;br /&gt;
    res = [min_sum, max_sum]&lt;br /&gt;
    print(res)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    suma_min_max(lst_int, int(n))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește ca input un număr natural reprezentând numărul de elemente ale unui tablou, urmat de o listă de numere întregi separate prin spațiu. Programul verifică mai întâi dacă numărul introdus ca input este un număr natural în intervalul [1, 100] prin apelul funcției verificare_nr_elemente. Dacă inputul nu este valid, programul afișează un mesaj de eroare și se încheie prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente utilizează funcția is_integer pentru a verifica dacă inputul este un număr valid. Dacă acest lucru este adevărat, funcția verifică dacă inputul este un număr natural în intervalul [1, 100]. Dacă inputul nu este valid, programul afișează un mesaj de eroare și se încheie prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
După ce inputul a fost validat, programul continuă prin apelul funcției verificare_vector, care verifică dacă lista de numere introdusă ca input are dimensiunea corespunzătoare și dacă fiecare element din listă este un număr întreg între 1 și 49. Dacă aceste condiții nu sunt îndeplinite, programul afișează un mesaj de eroare și se încheie prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Dacă inputul este validat cu succes, programul apelează funcția suma_min_max pentru a calcula cea mai mică și cea mai mare sumă formată din exact n-1 elemente dintre cele n ale lui v. Funcția suma_min_max sortează mai întâi lista de numere primite ca input, apoi calculează suma primelor n-1 numere ca fiind cea mai mică sumă și suma tuturor elementelor din lista de numere cu excepția primului element ca fiind cea mai mare sumă. Funcția returnează un tablou cu cele două sume calculate.&lt;br /&gt;
&lt;br /&gt;
În cele din urmă, programul afișează tabloul returnat de funcția suma_min_max.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2732_%E2%80%93_Succesor&amp;diff=3729</id>
		<title>2732 – Succesor</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2732_%E2%80%93_Succesor&amp;diff=3729"/>
		<updated>2023-04-15T21:14:03Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2732/succesor Succesor]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se consideră vectorul ordonat strict crescător sir &amp;lt;code&amp;gt;= (sir[1], sir[2], ..., sir[k])&amp;lt;/code&amp;gt; ce memorează o submulțime de &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente a mulțimii &amp;lt;code&amp;gt;{1, 2, ..., n}&amp;lt;/code&amp;gt;. Trebuie determinată următoarea submulțime din punct de vedere lexicografic. De exemplu, dacă &amp;lt;code&amp;gt;n=4&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;k=3&amp;lt;/code&amp;gt;, atunci submulțimile de trei elemente, în ordine lexicografică, sunt: &amp;lt;code&amp;gt;{1,2,3}&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;{1,2,4}&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;{1,3,4}&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;{2,3,4}&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;,  apoi k, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma determinării următoarei submulțimi din punct de vedere lexicografic. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt; k &amp;lt; n &amp;lt; 30.000&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti elementul n: 9&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:2 4 5 8 9&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:[2, 4, 6, 7, 8]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti elementul n: 10&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 2&lt;br /&gt;
:Introduceti 2 numere separate prin spatiu:14 12 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(k, n):&lt;br /&gt;
    if is_integer(k):&lt;br /&gt;
        if 1 &amp;lt; int(k) &amp;lt;= int(n):&lt;br /&gt;
            return k&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verif_ordonare(lst):&lt;br /&gt;
    for i in range(1, len(lst)):&lt;br /&gt;
        if lst[i] &amp;lt; lst[i-1]:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(k, vector, n):&lt;br /&gt;
    if len(vector) != int(k):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 1 &amp;lt;= int(i) &amp;lt;= int(n):&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
    verif_ordonare(vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_n(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt;= int(n) &amp;lt;= 30000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def succesor(sir, n, k):&lt;br /&gt;
    i = k - 1&lt;br /&gt;
    while i &amp;gt;= 0 and sir[i] == n - k + i + 1:&lt;br /&gt;
        i -= 1&lt;br /&gt;
    if i &amp;gt;= 0:&lt;br /&gt;
        sir[i] += 1&lt;br /&gt;
        for j in range(i+1, k):&lt;br /&gt;
            sir[j] = sir[j-1] + 1&lt;br /&gt;
    print(sir)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti elementul n: &amp;quot;)&lt;br /&gt;
    verificare_n(n)&lt;br /&gt;
    k = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(k,n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {k} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(k, elem, n)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    succesor(lst_int, int(n), int(k))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă valoarea &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă este și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(k, n)&amp;lt;/code&amp;gt; verifică dacă numărul &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; este un număr întreg și se află între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, returnând &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; în cazul în care este valid, iar în caz contrar, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verif_ordonare(lst)&amp;lt;/code&amp;gt; verifică dacă elementele listei &amp;lt;code&amp;gt;lst&amp;lt;/code&amp;gt; sunt în ordine crescătoare, comparând fiecare element cu elementul anterior. În cazul în care nu sunt în ordine crescătoare, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă toate elementele sunt în ordine crescătoare, returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(k, vector, n)&amp;lt;/code&amp;gt; verifică dacă lungimea listei &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt; este egală cu &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; și dacă toate elementele sunt întregi și se află între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă există elemente invalide sau lista nu este ordonată crescător, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă toate elementele sunt valide și lista este ordonată crescător, funcția se încheie cu succes.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_n(n)&amp;lt;/code&amp;gt; verifică dacă numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg și se află între 2 și 30000, returnând &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; în cazul în care este valid, iar în caz contrar, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;succesor(sir, n, k)&amp;lt;/code&amp;gt; primește lista &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt;, reprezentând submulțimea de &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente din mulțimea {1,2,...,n}, și returnează succesorul lexicografic al acestei submulțimi, adică următoarea submulțime de &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente din mulțimea {1,2,...,n}, ordonată crescător. Pentru a găsi succesorul, se parcurge lista de la dreapta la stânga și se caută prima poziție &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; pentru care &amp;lt;code&amp;gt;sir[i]&amp;lt;/code&amp;gt; nu este egal cu &amp;lt;code&amp;gt;n - k + i + 1&amp;lt;/code&amp;gt;. Dacă se găsește o astfel de poziție, se incrementează &amp;lt;code&amp;gt;sir[i]&amp;lt;/code&amp;gt; cu 1 și se ajustează restul elementelor astfel încât să formeze o submulțime ordonată crescător. Dacă nu există o astfel de poziție, submulțimea inițială era deja maximă și succesorul nu există.&lt;br /&gt;
&lt;br /&gt;
În &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, se citesc valorile &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;, se verifică dacă sunt valide folosind funcțiile &amp;lt;code&amp;gt;verificare_n&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt;, apoi se citește lista &amp;lt;code&amp;gt;elem&amp;lt;/code&amp;gt; și se verifică folosind funcția verif_ordonare. Aceasta parcurge elementele vectorului și verifică dacă fiecare element este mai mare sau egal cu cel anterior. Dacă se găsește un element care nu respectă această condiție, programul afișează mesajul &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se oprește cu exit().&lt;br /&gt;
&lt;br /&gt;
În continuare, se verifică elementele vectorului dacă respectă intervalul impus, adică să fie între 1 și n, folosind funcția verificare_vector. Dacă un element nu se încadrează în acest interval, programul afișează mesajul &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se oprește cu exit().&lt;br /&gt;
&lt;br /&gt;
Se afișează mesajul &amp;quot;Datele introduse sunt corecte!&amp;quot; și se apelează funcția succesor, care primește ca parametri vectorul, n și k. Funcția calculează succesorul submulțimii memorate inițial în vectorul a și afișează rezultatul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4235_%E2%80%93_Perechi_DivP&amp;diff=3728</id>
		<title>4235 – Perechi DivP</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4235_%E2%80%93_Perechi_DivP&amp;diff=3728"/>
		<updated>2023-04-15T20:54:35Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/4235/perechidivp Perechi DivP]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un nr întreg p. Subprogramul returnează numărul de perechi &amp;lt;code&amp;gt;(sir[i], sir[j])&amp;lt;/code&amp;gt; cu &amp;lt;code&amp;gt;i &amp;lt; j&amp;lt;/code&amp;gt; și suma sir&amp;lt;code&amp;gt;[i]+sir[j]&amp;lt;/code&amp;gt; este multiplu de &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, urmate de elementul p.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa numărul de perechi care îndeplinesc condițiile mai sus precizate. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;= n &amp;lt;= 20000&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 1 și 30.000&lt;br /&gt;
*2 &amp;lt;= p &amp;lt;= 1000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:9 2 4 7 3&lt;br /&gt;
:Introduceti elementul p: 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:3&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:1 411 3 4 1 2&lt;br /&gt;
:Introduceti elementul p: 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:7&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:131 131 41 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt;= int(n) &amp;lt;= 200000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 1 &amp;lt;= int(i) &amp;lt;= 30000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_p(p):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 2 &amp;lt;= int(p) &amp;lt;= 1000:&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def nr_perechi_multiplu_p(sir, n, P):&lt;br /&gt;
    cnt = [0] * int(P)&lt;br /&gt;
    res = 0&lt;br /&gt;
&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        if sir[i] % int(P) == 0:&lt;br /&gt;
            res += cnt[0]&lt;br /&gt;
        else:&lt;br /&gt;
            res += cnt[int(P) - sir[i] % int(P)]&lt;br /&gt;
        cnt[sir[i] % int(P)] += 1&lt;br /&gt;
&lt;br /&gt;
    return res&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    p = input(&amp;quot;Introduceti elementul p: &amp;quot;)&lt;br /&gt;
    verificare_p(p)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(nr_perechi_multiplu_p(lst_int, n, p))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Această soluție implementează o funcție numită &amp;lt;code&amp;gt;nr_perechi_multiplu_p&amp;lt;/code&amp;gt; care primește ca argumente un vector de numere întregi &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt;, lungimea acestuia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un număr întreg &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;. Scopul acestei funcții este de a returna numărul de perechi &amp;lt;code&amp;gt;(a[i], a[j])&amp;lt;/code&amp;gt; pentru care &amp;lt;code&amp;gt;i &amp;lt; j&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;a[i] + a[j]&amp;lt;/code&amp;gt; este multiplu de &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pentru a verifica validitatea datelor de intrare, au fost definite mai multe funcții de verificare: &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_p&amp;lt;/code&amp;gt;. Toate acestea utilizează funcția &amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt; pentru a verifica dacă valorile introduse sunt numere întregi valide. Dacă valorile introduse nu sunt corecte, programul afișează un mesaj de eroare și se oprește prin utilizarea funcției &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;nr_perechi_multiplu_p&amp;lt;/code&amp;gt; utilizează un vector &amp;lt;code&amp;gt;cnt&amp;lt;/code&amp;gt; inițializat cu valori de 0 pentru a număra aparițiile fiecărui rest modulo &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; al elementelor din vectorul &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt;. Pe măsură ce se parcurge vectorul, se calculează restul fiecărui element &amp;lt;code&amp;gt;sir[i]&amp;lt;/code&amp;gt; împărțit la &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;, iar apoi se adaugă numărul de perechi în care suma lor este multiplu de &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;. Numărul de astfel de perechi este reprezentat de &amp;lt;code&amp;gt;cnt[0]&amp;lt;/code&amp;gt; dacă &amp;lt;code&amp;gt;sir[i]&amp;lt;/code&amp;gt; este el însuși multiplu de &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;. În caz contrar, numărul de perechi corespunzătoare este reprezentat de &amp;lt;code&amp;gt;cnt[P - sir[i] % P]&amp;lt;/code&amp;gt;. La sfârșit, funcția returnează numărul total de perechi găsite.&lt;br /&gt;
&lt;br /&gt;
În blocul &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul citește datele de intrare (lungimea vectorului, elementele acestuia și numărul &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt;), verifică dacă acestea sunt corecte și, dacă sunt, afișează numărul de perechi cerute utilizând funcția &amp;lt;code&amp;gt;nr_perechi_multiplu_p&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3215_%E2%80%93_Kth&amp;diff=3727</id>
		<title>3215 – Kth</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3215_%E2%80%93_Kth&amp;diff=3727"/>
		<updated>2023-04-15T20:42:29Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/3215/kth Kth]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Funcția va returna poziția din vector unde &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; apare pentru a &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;-a oară, sau &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; dacă &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; nu apare de cel puțin &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; ori&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, iar mai apoi, elementele x și k.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa poziția din vector în care x apare pentru a k-a oară, sau -1 dacă x nu apare de cel puțin k ori. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între -1000 și 1000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:4 2 5 2 6 2&lt;br /&gt;
:Introduceti elementul x:2&lt;br /&gt;
:Introduceti elementul k:2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:3&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:2 3 4 5&lt;br /&gt;
:Introduceti elementul x:5&lt;br /&gt;
:Introduceti elementul k:5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:-1&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 123456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000 &amp;lt;= int(i) &amp;lt;= 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_x(x, lst_int):&lt;br /&gt;
    if is_integer(x):&lt;br /&gt;
        if -1000 &amp;lt;= int(x) &amp;lt;= 1000:&lt;br /&gt;
            if x in lst_int:&lt;br /&gt;
                return x&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_k(k):&lt;br /&gt;
    if is_integer(k):&lt;br /&gt;
        if 0 &amp;lt;= int(k) &amp;lt;= 1000:&lt;br /&gt;
            return k&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def Kth(sir, n, x, k):&lt;br /&gt;
    count = 0&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        if sir[i] == int(x):&lt;br /&gt;
            count += 1&lt;br /&gt;
            if count == int(k):&lt;br /&gt;
                print(i)&lt;br /&gt;
                exit()&lt;br /&gt;
    print(&amp;quot;-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    x = input(&amp;quot;Introduceti elementul x:&amp;quot;)&lt;br /&gt;
    verificare_x(x, lst_int)&lt;br /&gt;
    k = input(&amp;quot;Introduceti elementul k:&amp;quot;)&lt;br /&gt;
    verificare_k(k)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    Kth(lst_int, n, x, k)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă o valoare este de tip integer și returnează un boolean.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; primește ca parametru &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente ale vectorului. Verifică dacă valoarea este un integer și se află în intervalul [1, 1000]. Dacă nu respectă aceste condiții, se afișează un mesaj de eroare și programul se oprește cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Altfel, funcția returnează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; primește ca parametri &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt;, respectiv numărul de elemente și vectorul în sine. Verifică dacă numărul de elemente din vector corespunde cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă da, verifică pentru fiecare element din vector dacă este un integer și se află în intervalul [-1000, 1000]. Dacă nu, se afișează un mesaj de eroare și programul se oprește cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Altfel, funcția nu returnează nimic.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_x(x)&amp;lt;/code&amp;gt; primește ca parametru &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; și verifică dacă este un integer și se află în intervalul [-1000, 1000]. Dacă nu respectă aceste condiții, se afișează un mesaj de eroare și programul se oprește cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Altfel, funcția returnează &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_k(k)&amp;lt;/code&amp;gt; primește ca parametru &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; și verifică dacă este un integer și se află în intervalul [0, 1000]. Dacă nu respectă aceste condiții, se afișează un mesaj de eroare și programul se oprește cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Altfel, funcția returnează &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;Kth(sir, n, x, k)&amp;lt;/code&amp;gt; primește ca parametri &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;, respectiv vectorul, numărul de elemente din vector, valoarea căutată și numărul de apariții căutate. Funcția caută valoarea &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; în vector și numără de câte ori apare. Când numărul de apariții dorit &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; este atins, se afișează poziția elementului și programul se oprește cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; nu apare de cel puțin &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; ori, se afișează &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
În funcția principală (&amp;lt;code&amp;gt;__main__&amp;lt;/code&amp;gt;), se citesc valorile &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;elem&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; de la utilizator. Se verifică ca toate valorile să respecte condițiile cu ajutorul funcțiilor &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_vector(n, elem)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_x(x)&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_k(k)&amp;lt;/code&amp;gt;. Dacă toate valorile sunt corecte, se afișează un mesaj de confirmare și se apelează funcția &amp;lt;code&amp;gt;Kth(lst_int, n, x, k)&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0895_%E2%80%93_PermutarePF&amp;diff=3726</id>
		<title>0895 – PermutarePF</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0895_%E2%80%93_PermutarePF&amp;diff=3726"/>
		<updated>2023-04-15T20:20:50Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/895/permutarepf PermutarePF]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se numește &#039;&#039;permutare&#039;&#039; a unei mulțimi o aranjare a elementelor mulțimii în altă ordine. De exemplu, permutările mulțimii &amp;lt;code&amp;gt;{1,2,3}&amp;lt;/code&amp;gt; sunt: &amp;lt;code&amp;gt;(1,2,3)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;(1,3,2)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;(2,1,3)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;(2,3,1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;(3,1,2)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;(3,2,1)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Fie &amp;lt;code&amp;gt;(p1, p2, ..., pn&amp;lt;/code&amp;gt;) o permutare a mulțimii &amp;lt;code&amp;gt;{1,2,...,n}&amp;lt;/code&amp;gt;. Se numește punct fix al permutării o valoare &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; din mulțime cu proprietatea că &amp;lt;code&amp;gt;pk = k&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Scrieţi definiția completă a subprogramulu&amp;lt;code&amp;gt;permutare&amp;lt;/code&amp;gt; care are &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; parametri: sir, prin care primeşte un tablou unidimensional cu maximum &amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt; de numere naturale mai mici decât &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul efectiv de elemente ale tabloului.&lt;br /&gt;
&lt;br /&gt;
Subprogramul verifică dacă elementele vectorului sir reprezintă o permutare fără puncte fixe a mulțimii &amp;lt;code&amp;gt;{1,2,...,n}&amp;lt;/code&amp;gt; și returnează valoarea &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; în caz afirmativ, respectiv &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; în caz negativ.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa valoare 1 dacă șirul reprezintă o permutare fără puncte fixe, și 0 în caz contrar. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:2 3 1 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:0&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:2 3 1 6 4 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:1&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 103&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt; 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def permutare(sir, n):&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        if sir[i] == i+1:&lt;br /&gt;
            return 0&lt;br /&gt;
    return 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def det_puncte_fixe(sir):&lt;br /&gt;
    if permutare(sir, n) == 1:&lt;br /&gt;
        print(&amp;quot;1&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;0&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    det_puncte_fixe(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește de la utilizator un număr n reprezentând numărul de elemente ale vectorului și apoi primește un vector unidimensional de lungime n cu numere întregi prin intermediul funcției input(). Programul verifică dacă n este un număr natural cuprins între 1 și 100 și dacă elementele vectorului sunt numere întregi mai mici decât 1000. Aceste verificări sunt efectuate de funcțiile verificare_nr_elemente() și verificare_vector(), care ies din program prin intermediul funcției exit() în cazul în care datele introduse sunt incorecte.&lt;br /&gt;
&lt;br /&gt;
Programul utilizează apoi o funcție permutare() pentru a determina dacă vectorul primit reprezintă o permutare fără puncte fixe a mulțimii {1,2,...,n}. Funcția parcurge vectorul și verifică dacă există un element al vectorului care se află pe aceeași poziție cu valoarea sa (adică este un punct fix). Dacă se găsește cel puțin un punct fix, funcția returnează valoarea 0, altfel returnează valoarea 1.&lt;br /&gt;
&lt;br /&gt;
În cele din urmă, programul utilizează funcția det_puncte_fixe() pentru a determina dacă vectorul primit reprezintă o permutare fără puncte fixe și afișează valoarea 1 în caz afirmativ și valoarea 0 în caz negativ.&lt;br /&gt;
&lt;br /&gt;
Datele introduse sunt considerate corecte dacă toate verificările sunt trecute fără probleme și programul ajunge la afișarea valorii 1 sau 0.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3658_%E2%80%93_NrTriplete&amp;diff=3725</id>
		<title>3658 – NrTriplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3658_%E2%80%93_NrTriplete&amp;diff=3725"/>
		<updated>2023-04-15T20:08:16Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/3658/nrtriplete NrTriplete]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și s, un nr întreg. Funcția returnează numărul de triplete &amp;lt;code&amp;gt;(sir[i], sir[j], sir[k])&amp;lt;/code&amp;gt;, unde &amp;lt;code&amp;gt;0 ≤ i &amp;lt; j &amp;lt; k &amp;lt; n&amp;lt;/code&amp;gt; și sir&amp;lt;code&amp;gt;[i] + sir[j] + sir[k] &amp;lt; S&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, apoi valoarea s.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa totalul de triplete care îndeplinesc condițiile date. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*3 &amp;lt;= n &amp;lt;= 2000&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între -100.000.000 și 100.000.000&lt;br /&gt;
*-100.000.000 &amp;lt;= s &amp;lt;= 100.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:1 -2 0 4&lt;br /&gt;
:Introduceti valoarea s: 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:count: 3&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu: 1231 1 321 41&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 3 &amp;lt;= int(n) &amp;lt;= 2000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != n:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    for i in vector:&lt;br /&gt;
        if -100000000 &amp;lt;= int(i) &amp;lt;= 100000000:&lt;br /&gt;
            continue&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_s(s):&lt;br /&gt;
    if is_integer(s):&lt;br /&gt;
        if 3 &amp;lt;= int(s) &amp;lt;= 2000:&lt;br /&gt;
            return s&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def nr_triplete(sir, n, S):&lt;br /&gt;
    count = 0&lt;br /&gt;
    for i in range(n-2):&lt;br /&gt;
        for j in range(i+1, n-1):&lt;br /&gt;
            for k in range(j+1, n):&lt;br /&gt;
                if sir[i]+sir[j]+sir[k] &amp;lt; S:&lt;br /&gt;
                    count += 1&lt;br /&gt;
    print(&amp;quot;count:&amp;quot;,count)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    lst_int = list(map(int, input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()))&lt;br /&gt;
    verificare_vector(n, lst_int)&lt;br /&gt;
    s = input(&amp;quot;Introduceti valoarea s: &amp;quot;)&lt;br /&gt;
    verificare_s(s)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    nr_triplete(lst_int, int(n), int(s))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; este un string reprezentând un număr întreg (adică conține doar cifre). Returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă este și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un string reprezentând un număr întreg între 3 și 2000. În cazul în care este valid, returnează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, altfel afișează un mesaj de eroare și iese din program.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă toate elementele din &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt; sunt numere întregi între -100000000 și 100000000. În cazul în care sunt valide, nu face nimic, altfel afișează un mesaj de eroare și iese din program.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_s(s)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt; este un string reprezentând un număr întreg între 3 și 2000. În cazul în care este valid, returnează &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;, altfel afișează un mesaj de eroare și iese din program.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;nr_triplete(sir, n, S)&amp;lt;/code&amp;gt; primește un tablou &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi și un număr întreg &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;. Parcurge toate tripletele posibile din tablou și numără cele pentru care suma este strict mai mică decât &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;. Afișează rezultatul final.&lt;br /&gt;
# În funcția &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, se citesc numărul de elemente, vectorul și valoarea &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt; cu ajutorul unor input-uri și se validează folosind funcțiile de mai sus. Apoi, se apelează funcția &amp;lt;code&amp;gt;nr_triplete&amp;lt;/code&amp;gt; cu argumentele corespunzătoare.&lt;br /&gt;
# Comanda &amp;lt;code&amp;gt;list(map(int, input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()))&amp;lt;/code&amp;gt; transformă string-ul citit de la tastatură într-o listă de numere întregi. Mai întâi se citesc valorile cu &amp;lt;code&amp;gt;input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;)&amp;lt;/code&amp;gt;, apoi se separă folosind funcția &amp;lt;code&amp;gt;split()&amp;lt;/code&amp;gt; și se transformă fiecare element din listă într-un număr întreg folosind funcția &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2620_%E2%80%93_FNext_Number&amp;diff=3724</id>
		<title>2620 – FNext Number</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2620_%E2%80%93_FNext_Number&amp;diff=3724"/>
		<updated>2023-04-15T19:53:42Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2620/fnextnumber FNext Number]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se primește ca parametru un număr natural nenul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și returnează cel mai mic număr natural, strict mai mare decât &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, care are în reprezentarea în baza &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; același număr de biți de &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ca și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n.&amp;lt;/code&amp;gt;&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi va afișa cel mai mic număr natural, strict mai mare decât &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, care are în reprezentarea în baza &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; același număr de biți de &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ca și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*n &amp;gt; 0&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul: 30&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:39&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul: 456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:464&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul: -5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n):&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def next_number(n: int) -&amp;gt; int:&lt;br /&gt;
    numar_de_biti_de_1 = bin(n).count(&#039;1&#039;)&lt;br /&gt;
    while True:&lt;br /&gt;
        n += 1&lt;br /&gt;
        if bin(n).count(&#039;1&#039;) == numar_de_biti_de_1:&lt;br /&gt;
            return n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul: &amp;quot;)&lt;br /&gt;
    verificare_nr(n)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(next_number(int(n)))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă un șir de caractere reprezintă un număr întreg pozitiv și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; sau &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în funcție de acest lucru.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;verificare_nr(n)&amp;lt;/code&amp;gt; verifică dacă numărul primit ca parametru este un număr natural nenul și îl returnează dacă este corect, altfel afișează un mesaj de eroare și încheie programul cu funcția &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;next_number(n)&amp;lt;/code&amp;gt; primește un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și calculează cel mai mic număr natural, strict mai mare decât &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, care are în reprezentarea în baza 2 același număr de biți de 1 ca și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
* În interiorul funcției &amp;lt;code&amp;gt;next_number(n)&amp;lt;/code&amp;gt; se numără numărul de biți de 1 din reprezentarea în baza 2 a lui &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; prin utilizarea funcției &amp;lt;code&amp;gt;bin(n)&amp;lt;/code&amp;gt;, care transformă numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; în reprezentarea sa în baza 2 sub formă de șir de caractere, și apoi numărând câte biți de 1 conține acest șir de caractere prin utilizarea metodei &amp;lt;code&amp;gt;count(&#039;1&#039;)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Folosind un ciclu infinit, se verifică fiecare număr natural, începând de la &amp;lt;code&amp;gt;n + 1&amp;lt;/code&amp;gt;, prin incrementarea lui cu 1 în fiecare iterație și numărarea numărului de biți de 1 din reprezentarea sa în baza 2. Dacă numărul de biți de 1 din reprezentarea în baza 2 a numărului verificat este egal cu cel al lui &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, se returnează acest număr.&lt;br /&gt;
* În programul principal se primește numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de la utilizator prin intermediul funcției &amp;lt;code&amp;gt;input()&amp;lt;/code&amp;gt; și se verifică dacă acesta este un număr natural nenul prin apelul funcției &amp;lt;code&amp;gt;verificare_nr(n)&amp;lt;/code&amp;gt;. Dacă acesta este corect, se afișează mesajul &amp;quot;Datele introduse sunt corecte!&amp;quot; și se calculează cel mai mic număr natural care are în reprezentarea în baza 2 același număr de biți de 1 ca și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; prin apelul funcției &amp;lt;code&amp;gt;next_number(int(n))&amp;lt;/code&amp;gt;, care primește numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; sub forma unui întreg. Rezultatul este afișat prin intermediul funcției &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3642_%E2%80%93_F_expo&amp;diff=3723</id>
		<title>3642 – F expo</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3642_%E2%80%93_F_expo&amp;diff=3723"/>
		<updated>2023-04-15T19:46:40Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/3642/f-expo F expo]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Pentru fiecare element a sirului, se calculează exponentul maxim &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt; cu proprietatea că &amp;lt;code&amp;gt;2e&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;≤ sir[i]&amp;lt;/code&amp;gt;, iar rezultatul se va memora tot în sir&amp;lt;code&amp;gt;[i]&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma calculării exponentului maxim. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;= n &amp;lt;= 5.000.000&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între 1 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:9 1 5 15 19 30&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Vectorul nou este: [3, 0, 2, 3, 4, 4]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:1 141 4 14&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 7&lt;br /&gt;
:Introduceti 7 numere separate prin spatiu:25254 4567 564 3 4 7 45&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Vectorul nou este: [14, 12, 9, 1, 2, 2, 5]&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 5000000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 1 &amp;lt;= int(i) &amp;lt; 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def f_expo(sir, n):&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        e = 0&lt;br /&gt;
        while 2 ** (e+1) &amp;lt;= sir[i]:&lt;br /&gt;
            e += 1&lt;br /&gt;
        sir[i] = e&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    f_expo(lst_int, n)&lt;br /&gt;
    print(&amp;quot;Vectorul nou este:&amp;quot;, lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă un string reprezintă un număr întreg. Folosim această funcție pentru a valida input-ul utilizatorului.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente introdus de utilizator este corect (îndeplinește condițiile din enunț) și returnează valoarea dacă este valid sau afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă lungimea vectorului introdus de utilizator este corectă și dacă fiecare element este valid (îndeplinește condițiile din enunț). În caz contrar, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;f_expo(sir, n)&amp;lt;/code&amp;gt; primește ca parametrii vectorul și lungimea sa și, pentru fiecare element din vector, calculează exponentul maxim e cu proprietatea că 2e ≤ sir[i] și îl memorează în locul valorii inițiale a lui sir[i].&lt;br /&gt;
# În blocul &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt; se citește numărul de elemente și vectorul de la utilizator, se validează datele de intrare și se apelează funcția &amp;lt;code&amp;gt;f_expo()&amp;lt;/code&amp;gt; pentru a calcula exponenții. Ulterior, se afișează noul vector.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4214_%E2%80%93_Dou%C4%83_Numere&amp;diff=3722</id>
		<title>4214 – Două Numere</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4214_%E2%80%93_Dou%C4%83_Numere&amp;diff=3722"/>
		<updated>2023-04-15T19:37:01Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/4214/douanumere Doua Numere]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Subprogramul returnează suma maximă care poate fi obținută adunând două numere din sir care au aceeași sumă a cifrelor. Dacă nu există două numere cu aceeași sumă a cifrelor, atunci funcția va returna &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma elementelor precizate mai sus. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;= n &amp;lt;= 100.000&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:14 66 41 50 93&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma maxima care poate fi obtinuta este: 159&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:123 12 3 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma maxima care poate fi obtinuta este: 15&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:1231 31 213 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 1000000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt; 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def sum_cif(n):&lt;br /&gt;
    s = 0&lt;br /&gt;
    while n &amp;gt; 0:&lt;br /&gt;
        s += n % 10&lt;br /&gt;
        n //= 10&lt;br /&gt;
    return s&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_max(a, n):&lt;br /&gt;
    max_sum = -1&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        for j in range(i+1, int(n)):&lt;br /&gt;
            if sum_cif(a[i]) == sum_cif(a[j]):&lt;br /&gt;
                max_sum = max(max_sum, a[i]+a[j])&lt;br /&gt;
    return max_sum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Suma maxima care poate fi obtinuta este:&amp;quot;,suma_max(lst_int, n))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program are ca scop găsirea sumei maxime care poate fi obținută prin adunarea a două numere dintr-un tablou, care au aceeași sumă a cifrelor. În cazul în care nu există două numere cu aceeași sumă a cifrelor, programul va returna -1.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer: Această funcție primește un parametru numit value și verifică dacă acesta este un număr întreg (adică este format din cifre). În caz afirmativ, funcția returnează True, în caz contrar, returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente: Această funcție primește un parametru numit n și verifică dacă acesta este un număr întreg cuprins între 2 și 1000000. Dacă este adevărat, funcția returnează valoarea lui n, în caz contrar afișează un mesaj de eroare și întrerupe programul cu ajutorul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector: Această funcție primește două parametri: n și vector. Ea verifică dacă lungimea vectorului este egală cu n și dacă toate elementele vectorului sunt numere întregi cuprinse între 0 și 1000000000. Dacă totul este corect, funcția nu returnează nimic, în caz contrar afișează un mesaj de eroare și întrerupe programul cu ajutorul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția sum_cif: Această funcție primește un parametru numit n și calculează suma cifrelor acestui număr utilizând operatorul modulo (%) și operatorul de împărțire întreagă (//). Funcția returnează suma cifrelor.&lt;br /&gt;
&lt;br /&gt;
Funcția suma_max: Această funcție primește doi parametri: a și n. Funcția parcurge două bucle for pentru a compara suma cifrelor a fiecărui element din vector cu suma cifrelor ale celorlalte elemente și pentru a găsi perechi de numere cu aceeași sumă a cifrelor. Dacă este găsită o pereche cu aceeași sumă a cifrelor, suma celor două numere este comparată cu valoarea maximă anterioară și, dacă este mai mare, aceasta este setată ca noua valoare maximă. Funcția returnează valoarea maximă găsită. Dacă nu este găsită nicio pereche cu aceeași sumă a cifrelor, funcția returnează -1.&lt;br /&gt;
&lt;br /&gt;
Funcția principală: Funcția principală primește de la utilizator lungimea vectorului și vectorul, verifică dacă acestea sunt corecte cu ajutorul funcțiilor verificare_nr_elemente și verificare_vector, apoi calculează suma maximă a două numere din vector cu aceeași sumă a cifrelor cu ajutorul funcției suma_max. Dacă suma maximă este -1, funcția afișează un mesaj corespunzător, în caz contrar afișează valoarea găsită.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4035_%E2%80%93_Nr_SecvS&amp;diff=3721</id>
		<title>4035 – Nr SecvS</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4035_%E2%80%93_Nr_SecvS&amp;diff=3721"/>
		<updated>2023-04-15T19:26:32Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/4035/nrsecvs Nr SecvS]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și s, un nr natural nenul. Subprogramul returnează numărul de secvențe din vector care au suma strict mai mare decât &amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, apoi valoarea s.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa numărul de secvențe din vector care au suma strict mai mare decât s. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;= n &amp;lt;= 1.000.000&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între 1 și 1000&lt;br /&gt;
*1 &amp;lt;= s &amp;lt;= 10.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:3 6 3 1&lt;br /&gt;
:Introduceti valoarea s:10&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Numarul de secvente accepate este: 2&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:123 12 3 5 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:IntroducIntroduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:123 1 3 1 4&lt;br /&gt;
:Introduceti valoarea s:15&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele ntroduse sunt corecte!&lt;br /&gt;
:Numarul de secvente accepate este: 5&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 1000000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 0 &amp;lt; int(i) &amp;lt; 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_s(s):&lt;br /&gt;
    if is_integer(s):&lt;br /&gt;
        if 0 &amp;lt; int(s) &amp;lt; 10000:&lt;br /&gt;
            return s&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def nr_secv_s(sir, n, S):&lt;br /&gt;
    count = 0&lt;br /&gt;
    for i in range(int(n)):&lt;br /&gt;
        for j in range(i, int(n)):&lt;br /&gt;
            if sum(sir[i:j+1]) &amp;gt; int(S):&lt;br /&gt;
                count += 1&lt;br /&gt;
    print(&amp;quot;Numarul de secvente accepate este:&amp;quot;,count)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    s = input(&amp;quot;Introduceti valoarea s:&amp;quot;)&lt;br /&gt;
    verificare_s(s)&lt;br /&gt;
    print(&amp;quot;Datele ntroduse sunt corecte!&amp;quot;)&lt;br /&gt;
    nr_secv_s(lst_int, n, s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Programul implementează o funcție numită &amp;quot;nr_secv_s&amp;quot; care primește ca parametrii un tablou de numere nenule, numărul efectiv de elemente al tabloului și un număr natural nenul &amp;quot;S&amp;quot;. Scopul funcției este de a calcula numărul de secvențe din tabloul dat care au suma strict mai mare decât &amp;quot;S&amp;quot; și de a afișa acest număr.&lt;br /&gt;
&lt;br /&gt;
Funcția începe prin a inițializa un contor la zero și apoi parcurge toate perechile de poziții din tablou (folosind două bucle for îmbricate). Pentru fiecare astfel de pereche, funcția calculează suma elementelor din secvența corespunzătoare și dacă această sumă este strict mai mare decât &amp;quot;S&amp;quot;, atunci contorul este incrementat.&lt;br /&gt;
&lt;br /&gt;
La final, funcția afișează valoarea contorului, care reprezintă numărul de secvențe care îndeplinesc condiția cerută.&lt;br /&gt;
&lt;br /&gt;
Înainte de apelarea funcției, sunt efectuate verificări asupra datelor introduse de utilizator: se verifică dacă numărul de elemente este un număr întreg între 2 și 1.000.000, dacă fiecare element din tablou este un număr întreg între 0 și 1000, și dacă numărul &amp;quot;S&amp;quot; este un număr întreg între 0 și 10.000. În cazul în care aceste verificări eșuează, programul va afișa un mesaj de eroare și va ieși din program.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4238_%E2%80%93_Nr_Zero&amp;diff=3720</id>
		<title>4238 – Nr Zero</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4238_%E2%80%93_Nr_Zero&amp;diff=3720"/>
		<updated>2023-04-15T19:11:42Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/4238/nrzero NrZero]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Toate cifrele impare se află la începutul vectorului ordonate descrescător, iar cifrele pare se găsesc la finalul vectorului, ordonate crescător. Subprogramul returnează numărul de valori egale cu &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; din vectorul &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va numărul de valori egale cu 0 din vectorul a. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;= n &amp;lt;= 500.000&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între 0 și 9&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 13&lt;br /&gt;
:Introduceti 13 numere separate prin spatiu:7 7 3 1 1 0 0 0 2 2 4 6 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Numarul de aparitii a cifrei 0: 3&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:7 2 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele ntroduse sunt corecte!&lt;br /&gt;
:Lista nu indeplineste conditia&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:7 3 2 4 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele ntroduse sunt corecte!&lt;br /&gt;
:Numarul de aparitii a cifrei 0: 0&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 500000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1 &amp;lt; int(i) &amp;lt; 10:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_lista(lista):&lt;br /&gt;
    impare = sorted([x for x in lista if x % 2 == 1], reverse=True)&lt;br /&gt;
    if impare != lista[:len(impare)]:&lt;br /&gt;
        print(&amp;quot;Lista nu indeplineste conditia&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    pare = sorted([x for x in lista if x % 2 == 0])&lt;br /&gt;
    if pare != lista[len(impare):]:&lt;br /&gt;
        print(&amp;quot;Lista nu indeplineste conditia&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    zero_count = lista.count(0)&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Numarul de aparitii a cifrei 0:&amp;quot;, zero_count)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele ntroduse sunt corecte!&amp;quot;)&lt;br /&gt;
    verificare_lista(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Programul verifică o listă de numere pentru a se asigura că respectă anumite condiții, și anume că toate numerele impare sunt la începutul listei, ordonate descrescător, iar toate numerele pare sunt la sfârșitul listei, ordonate crescător. În plus, programul returnează numărul de apariții al cifrei 0 în listă.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt; verifică dacă o valoare dată este un număr întreg.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; verifică dacă valoarea dată ca parametru reprezintă un număr întreg și se află în intervalul [3, 499999].&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt; verifică dacă vectorul dat ca parametru are aceeași lungime ca numărul de elemente specificat, iar toate elementele sunt numere întregi și se află în intervalul [-1, 9].&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_lista&amp;lt;/code&amp;gt; verifică dacă lista dată ca parametru respectă condiția de a avea numerele impare la începutul listei, ordonate descrescător, și numerele pare la sfârșitul listei, ordonate crescător. În caz contrar, se afișează un mesaj corespunzător. De asemenea, se numără aparițiile cifrei 0 în listă și se afișează acest număr.&lt;br /&gt;
&lt;br /&gt;
În cadrul programului principal, se citesc numărul de elemente ale listei și elementele listei, se verifică vectorul și se verifică dacă lista respectă condiția specificată, iar apoi se afișează numărul de apariții al cifrei 0.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0042_%E2%80%93_%C8%98terge_Elemente&amp;diff=3719</id>
		<title>0042 – Șterge Elemente</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0042_%E2%80%93_%C8%98terge_Elemente&amp;diff=3719"/>
		<updated>2023-04-15T18:58:29Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/42/stergeelemente StergereElemente]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi cuprinse în intervalul [-1000, 1000] și două valori naturale i și j. Să se afișeze toate elementele vectorului, mai puțin cele aflate de pe pozițiile i+1 la j-1.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, apoi valorile i și j.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa vectorul, mai puțin elementele de pe pozițiile mai sus menționate. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între -1000 și 1000&lt;br /&gt;
*1≤i≤j≤n&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:12 7 6 3 8 5&lt;br /&gt;
:Introduceti valoarea i:2&lt;br /&gt;
:Intoduceti valoarea j:4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Sirul nou este [12, 8, 5]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:123 12 3 5&lt;br /&gt;
:Introduceti valoarea i:1&lt;br /&gt;
:Intoduceti valoarea j:5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 102&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 101:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000 &amp;lt; int(i) &amp;lt; 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_i(i, n):&lt;br /&gt;
    if is_integer(i):&lt;br /&gt;
        if 1 &amp;lt;= int(i) &amp;lt; int(n)-1:&lt;br /&gt;
            return i&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_j(i, n, j):&lt;br /&gt;
    if is_integer(j):&lt;br /&gt;
        if int(i) &amp;lt;= int(j) &amp;lt;= int(n):&lt;br /&gt;
            return j&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elemente(sir, i, j, n):&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for k in range(0, int(n)):&lt;br /&gt;
        if k &amp;lt; int(i)-1 or k &amp;gt; int(j)-1:&lt;br /&gt;
            sir_nou.append(sir[k])&lt;br /&gt;
    print(&amp;quot;Sirul nou este&amp;quot;,sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    i = input(&amp;quot;Introduceti valoarea i:&amp;quot;)&lt;br /&gt;
    verificare_i(i, n)&lt;br /&gt;
    j = input(&amp;quot;Intoduceti valoarea j:&amp;quot;)&lt;br /&gt;
    verificare_j(i, n, j)&lt;br /&gt;
    print(&amp;quot;Datele ntroduse sunt corecte!&amp;quot;)&lt;br /&gt;
    eliminare_elemente(lst_int, i, j, n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program verifică dacă datele introduse sunt corecte și apoi calculează suma elementelor dintr-un șir, cu excepția elementelor cu indexul între două valori i și j date de utilizator.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; este un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente introdus este un număr întreg între 2 și 100 și returnează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; dacă este corect sau afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt; dacă este incorect.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă numerele introduse în șir sunt numere întregi între -1000 și 1000 și dacă numărul de elemente este egal cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_i(i, n)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; este un număr întreg între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; - 1. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_j(i, n, j)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; este un număr întreg între &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;suma(sir, i, j, n)&amp;lt;/code&amp;gt; calculează suma elementelor din șir, cu excepția elementelor cu indexul între &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
În &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul primește numărul de elemente ale șirului și verifică dacă acesta este corect. Apoi primește valorile șirului, verifică dacă acestea sunt corecte și le converteste într-un listă de întregi. Programul primește valorile pentru &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;, verifică dacă sunt corecte și apoi calculează suma elementelor șirului folosind funcția &amp;lt;code&amp;gt;suma()&amp;lt;/code&amp;gt;.&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se ordoneze descrescător elementele vectorului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării descrescătoare a tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:63 273 9 83 93 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [273, 123, 93, 83, 63, 9]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 123456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:13 1 31 31 1 3 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 101:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000 &amp;lt; int(i) &amp;lt; 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_i(i, n):&lt;br /&gt;
    if is_integer(i):&lt;br /&gt;
        if 1 &amp;lt;= int(i) &amp;lt; int(n)-1:&lt;br /&gt;
            return i&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_j(i, n, j):&lt;br /&gt;
    if is_integer(j):&lt;br /&gt;
        if int(i) &amp;lt;= int(j) &amp;lt;= int(n):&lt;br /&gt;
            return j&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elemente(sir, i, j, n):&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for k in range(0, int(n)):&lt;br /&gt;
        if k &amp;lt; int(i)-1 or k &amp;gt; int(j)-1:&lt;br /&gt;
            sir_nou.append(sir[k])&lt;br /&gt;
    print(&amp;quot;Sirul nou este&amp;quot;,sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    i = input(&amp;quot;Introduceti valoarea i:&amp;quot;)&lt;br /&gt;
    verificare_i(i, n)&lt;br /&gt;
    j = input(&amp;quot;Intoduceti valoarea j:&amp;quot;)&lt;br /&gt;
    verificare_j(i, n, j)&lt;br /&gt;
    print(&amp;quot;Datele ntroduse sunt corecte!&amp;quot;)&lt;br /&gt;
    eliminare_elemente(lst_int, i, j, n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program elimină elementele unui șir dat prin excluderea elementelor de pe pozițiile dintre două poziții date, i și j (inclusiv acestea). Iată o explicație detaliată a fiecărei funcții:&lt;br /&gt;
&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; primește o valoare sub formă de string și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă string-ul poate fi convertit într-un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; altfel.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; primește numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și verifică dacă acesta este un număr întreg cuprins între 3 și 100. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este valid, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este valid, returnează valoarea.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; primește numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și vectorul &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt; și verifică dacă vectorul are lungimea corectă (adică trebuie să aibă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente). Pentru fiecare element &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; din vector, verifică dacă este un număr întreg între -1000 și 1000. Dacă vectorul nu este valid, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_i(i, n)&amp;lt;/code&amp;gt; primește poziția &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și verifică dacă &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; este un număr întreg între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;-1. Dacă &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; nu este valid, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; este valid, returnează valoarea.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;verificare_j(i, n, j)&amp;lt;/code&amp;gt; primește poziția &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și poziția &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; și verifică dacă &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; este un număr întreg între &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; nu este valid, afișează un mesaj de eroare și iese din program cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. Dacă &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; este valid, returnează valoarea.&lt;br /&gt;
# Funcția &amp;lt;code&amp;gt;eliminare_elemente(sir, i, j, n)&amp;lt;/code&amp;gt; primește șirul &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt;, poziția &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, poziția &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; și numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și construiește un nou șir &amp;lt;code&amp;gt;sir_nou&amp;lt;/code&amp;gt; prin excluderea elementelor de pe pozițiile dintre &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; (inclusiv acestea). Noua listă este afișată la sfârșit.&lt;br /&gt;
&lt;br /&gt;
În blocul principal, programul primește input-urile de la utilizator, verifică dacă acestea sunt corecte folosind funcțiile de verificare și, dacă sunt corecte, calculează șirul nou folosind funcția &amp;lt;code&amp;gt;eliminare_elemente&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0072_%E2%80%93_FSum_Vec&amp;diff=3718</id>
		<title>0072 – FSum Vec</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0072_%E2%80%93_FSum_Vec&amp;diff=3718"/>
		<updated>2023-04-15T18:51:31Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/72/fsumvec FSum Vec]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi cuprinse în intervalul [-1000, 1000] și două valori naturale i și j. Să se facă suma tuturor elementelor vectorului, mai puțin cele aflate de pe pozițiile i+1 la j-1.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, apoi valorile i și j.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma elementelor precizate mai sus. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  cuprinse între -1000 și 1000&lt;br /&gt;
*1≤i≤j≤n&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:12 7 6 3 8 5&lt;br /&gt;
:Introduceti valoarea i:2&lt;br /&gt;
:Intoduceti valoarea j:4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este 25&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:123 12 3 5&lt;br /&gt;
:Introduceti valoarea i:1&lt;br /&gt;
:Intoduceti valoarea j:5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 102&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt; 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_descrescator(sir):&lt;br /&gt;
    lista_sortata = sorted(sir, reverse=True)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,lista_sortata)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    ordonare_descrescator(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 101:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000 &amp;lt; int(i) &amp;lt; 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_i(i, n):&lt;br /&gt;
    if is_integer(i):&lt;br /&gt;
        if 1 &amp;lt;= int(i) &amp;lt; int(n)-1:&lt;br /&gt;
            return i&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_j(i, n, j):&lt;br /&gt;
    if is_integer(j):&lt;br /&gt;
        if int(i) &amp;lt;= int(j) &amp;lt;= int(n):&lt;br /&gt;
            return j&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma(sir, i, j, n):&lt;br /&gt;
    suma = 0&lt;br /&gt;
    for k in range(0, int(n)):&lt;br /&gt;
        if k &amp;lt; int(i)-1 or k &amp;gt; int(j)-1:&lt;br /&gt;
            suma += sir[k]&lt;br /&gt;
    print(&amp;quot;Suma este&amp;quot;,suma)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    i = input(&amp;quot;Introduceti valoarea i:&amp;quot;)&lt;br /&gt;
    verificare_i(i, n)&lt;br /&gt;
    j = input(&amp;quot;Intoduceti valoarea j:&amp;quot;)&lt;br /&gt;
    verificare_j(i, n, j)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    suma(lst_int, i, j, n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program verifică dacă datele introduse sunt corecte și apoi calculează suma elementelor dintr-un șir, cu excepția elementelor cu indexul între două valori i și j date de utilizator.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; este un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente introdus este un număr întreg între 2 și 100 și returnează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; dacă este corect sau afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt; dacă este incorect.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă numerele introduse în șir sunt numere întregi între -1000 și 1000 și dacă numărul de elemente este egal cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_i(i, n)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; este un număr întreg între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; - 1. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_j(i, n, j)&amp;lt;/code&amp;gt; verifică dacă &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; este un număr întreg între &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă există o problemă, afișează un mesaj de eroare și oprește programul cu &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;suma(sir, i, j, n)&amp;lt;/code&amp;gt; calculează suma elementelor din șir, cu excepția elementelor cu indexul între &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
În &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul primește numărul de elemente ale șirului și verifică dacă acesta este corect. Apoi primește valorile șirului, verifică dacă acestea sunt corecte și le converteste într-un listă de întregi. Programul primește valorile pentru &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt;, verifică dacă sunt corecte și apoi calculează suma elementelor șirului folosind funcția &amp;lt;code&amp;gt;suma()&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0805_%E2%80%93_Valuri&amp;diff=3715</id>
		<title>0805 – Valuri</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0805_%E2%80%93_Valuri&amp;diff=3715"/>
		<updated>2023-04-15T18:28:00Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/805/valuri Valuri]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un nr natural n. Programul furnizează un tablou unidimensional cu &amp;lt;code&amp;gt;2*n&amp;lt;/code&amp;gt; elemente, valori naturale distincte din intervalul &amp;lt;code&amp;gt;[1,2*n]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Subprogramul construieşte tabloul &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt; astfel încât, în acesta, şirul elementelor impare să fie strict crescător, iar şirul elementelor pare să fie strict descrescător. Primul element al tabloului este impar, iar două elemente cu aceeaşi paritate nu pot ocupa poziţii consecutive în tablou.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa vectorul conform specificațiilor mai sus menționate. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt; n &amp;lt; 50&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [1, 8, 3, 6, 5, 4, 7, 2]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 57&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 15&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [1, 30, 3, 28, 5, 26, 7, 24, 9, 22, 11, 20, 13, 18, 15, 16, 17, 14, 19, 12, 21, 10, 23, 8, 25, 6, 27, 4, 29, 2]&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 2 &amp;lt; int(n) &amp;lt; 50:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def valuri(n):&lt;br /&gt;
    vector = [0] * (int(n) * 2)&lt;br /&gt;
    for i in range(0, (int(n)*2)-1):&lt;br /&gt;
        if i % 2 == 0:&lt;br /&gt;
            vector[i] = i+1&lt;br /&gt;
        else:&lt;br /&gt;
            vector[i] = 0&lt;br /&gt;
    vector.reverse()&lt;br /&gt;
    for i in range((int(n)*2-1), -1, -1):&lt;br /&gt;
        if i % 2 == 0:&lt;br /&gt;
            vector[i] = i+2&lt;br /&gt;
    vector.reverse()&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    valuri(n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Codul conține următoarele funcții:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: funcție care primește o valoare și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar. Această funcție este folosită pentru a verifica dacă inputul dat este un număr întreg valid.&lt;br /&gt;
* &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: funcție care primește o valoare &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și verifică dacă este un număr întreg valid și dacă se află între 2 și 50. Dacă inputul este corect, funcția returnează valoarea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, altfel afișează un mesaj de eroare și oprește programul cu ajutorul funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;valuri(n)&amp;lt;/code&amp;gt;: funcție care primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și construiește un vector cu perechi de numere. Vectorul începe cu &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; și este format din &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; perechi de numere de forma &amp;lt;code&amp;gt;(0, i+2)&amp;lt;/code&amp;gt;, cu &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; un număr par de la &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; la &amp;lt;code&amp;gt;n*2-2&amp;lt;/code&amp;gt;. Aceste perechi sunt stocate în vector în ordinea descrescătoare a valorii primului element al perechii. Funcția afișează vectorul final.&lt;br /&gt;
&lt;br /&gt;
În funcția &amp;lt;code&amp;gt;valuri(n)&amp;lt;/code&amp;gt;, procesul de construcție a vectorului este împărțit în două părți:&lt;br /&gt;
&lt;br /&gt;
* Mai întâi, se construiește jumătatea din dreapta a vectorului, parcurgând lista &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt; și setând elementele la valori specifice (conform descrierii de mai sus). Aceste valori sunt setate în ordine crescătoare de la dreapta la stânga în lista, prin aceeași rază de pas. După această construcție, lista este inversată pentru a se obține valori ordonate descrescător de la stânga la dreapta.&lt;br /&gt;
* În a doua parte, se completează jumătatea stângă a vectorului, parcurgând lista &amp;lt;code&amp;gt;vector&amp;lt;/code&amp;gt; de la dreapta la stânga și setând elementele în funcție de indicele lor (conform descrierii de mai sus).&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0899_%E2%80%93_OrdonareF&amp;diff=3712</id>
		<title>0899 – OrdonareF</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0899_%E2%80%93_OrdonareF&amp;diff=3712"/>
		<updated>2023-04-15T18:03:31Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/899/ordonaref OrdonareF]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se ordoneze crescător elementele vectorului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării crescătoare a tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:63 273 9 83 93 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [9, 63, 83, 93, 123, 273]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 123456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:13 1 31 31 1 3 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt; 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_crescator(sir):&lt;br /&gt;
    lista_sortata = sorted(sir)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,lista_sortata)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    ordonare_crescator(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește ca intrare un șir de numere întregi și le sortează în ordine crescătoare.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) este o funcție simplă care primește o valoare și returnează adevărat dacă valoarea este un număr întreg sau fals în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă n este un număr întreg valid și dacă este între 1 și 1000. Dacă n nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are lungimea corectă și dacă toate elementele sale sunt numere întregi valide și mai mici decât 1 miliard. Dacă vectorul nu are lungimea corectă sau conține elemente invalide, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția ordonare_crescator(sir) primește ca argument o listă &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; de numere întregi și returnează lista sortată în ordine crescătoare utilizând funcția built-in &amp;lt;code&amp;gt;sorted()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
În funcția principală, programul primește input-ul de la utilizator pentru n și elem și apoi verifică validitatea acestor intrări utilizând funcțiile verificare_nr_elemente(n) și verificare_vector(n, elem). Dacă toate intrările sunt valide, programul afișează &amp;quot;Datele introduse sunt corecte!&amp;quot; și apoi se continuă cu apelul funcției ordonare_crescator(lst_int). La final, programul afișează lista sortată crescător.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0900_%E2%80%93_OrdonareF1&amp;diff=3711</id>
		<title>0900 – OrdonareF1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0900_%E2%80%93_OrdonareF1&amp;diff=3711"/>
		<updated>2023-04-15T17:59:45Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/900/ordonaref1 OrdonareF1]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se ordoneze descrescător elementele vectorului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării descrescătoare a tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:63 273 9 83 93 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [273, 123, 93, 83, 63, 9]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 123456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:13 1 31 31 1 3 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt; 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_descrescator(sir):&lt;br /&gt;
    lista_sortata = sorted(sir, reverse=True)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,lista_sortata)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    ordonare_descrescator(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește ca intrare un șir de numere întregi și le sortează în ordine descrescătoare.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) este o funcție simplă care primește o valoare și returnează adevărat dacă valoarea este un număr întreg sau fals în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă n este un număr întreg valid și dacă este între 1 și 1000. Dacă n nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are lungimea corectă și dacă toate elementele sale sunt numere întregi valide și mai mici decât 1 miliard. Dacă vectorul nu are lungimea corectă sau conține elemente invalide, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția ordonare_descrescator(sir) primește ca argument o listă &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; de numere întregi și returnează lista sortată în ordine descrescătoare utilizând funcția built-in &amp;lt;code&amp;gt;sorted()&amp;lt;/code&amp;gt; cu parametrul &amp;lt;code&amp;gt;reverse=True&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
În funcția principală, programul primește input-ul de la utilizator pentru n și elem și apoi verifică validitatea acestor intrări utilizând funcțiile verificare_nr_elemente(n) și verificare_vector(n, elem). Dacă toate intrările sunt valide, programul afișează &amp;quot;Datele introduse sunt corecte!&amp;quot; și apoi se continuă cu apelul funcției ordonare_descrescator(lst_int). La final, programul afișează lista sortată descrescător.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0901_%E2%80%93_Ordonare_SecvF&amp;diff=3710</id>
		<title>0901 – Ordonare SecvF</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0901_%E2%80%93_Ordonare_SecvF&amp;diff=3710"/>
		<updated>2023-04-15T17:50:40Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/901/ordonaresecvf Ordonare SecvF]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente naturale mai mici decât &amp;lt;code&amp;gt;1.000.000.000&amp;lt;/code&amp;gt; și doi indici &amp;lt;code&amp;gt;st dr&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Subprogramul ordonează crescător elementele tabloului &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; cu indici între &amp;lt;code&amp;gt;st&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;dr&amp;lt;/code&amp;gt;, inclusiv aceștia, fără a modifica celelalte elemente ale tabloului.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;,  apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, după care citește indicii st și dr.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării crescătoare a elementelor aflate între indicii st și dr. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000.000&lt;br /&gt;
*0 &amp;lt;= st &amp;lt;= dr &amp;lt; n&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:1 4 3 2 5&lt;br /&gt;
:Introduceti valoarea pt st:1&lt;br /&gt;
:Introduceti valoare pt dr:3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [1, 2, 3, 4, 5]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:12 31 145 4 4 3&lt;br /&gt;
:Introduceti valoarea pt st:4&lt;br /&gt;
:Introduceti valoare pt dr:6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:1 321 5 3&lt;br /&gt;
:Introduceti valoarea pt st:3&lt;br /&gt;
:Introduceti valoare pt dr:1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1500:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_pozitie_de_sters(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elem_p(vector, p):&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector.pop(int(p) - 1)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;, vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia de sters: &amp;quot;)&lt;br /&gt;
    verificare_pozitie_de_sters(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    eliminare_elem_p(elem, p)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_st(st, n):&lt;br /&gt;
    if is_integer(st):&lt;br /&gt;
        if 0 &amp;lt;= int(st) &amp;lt;= int(n)-1:&lt;br /&gt;
            return st&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_dr(dr, n, st):&lt;br /&gt;
    if is_integer(dr):&lt;br /&gt;
        if int(st) &amp;lt; int(dr) &amp;lt; int(n):&lt;br /&gt;
            return dr&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                continue&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_st_dr(sir, st, dr, n):&lt;br /&gt;
    sir_de_ord = []&lt;br /&gt;
    sir_final = []&lt;br /&gt;
    k = 0&lt;br /&gt;
    for i in range(0, int(n)):&lt;br /&gt;
        if int(st) &amp;lt;= i &amp;lt;= int(dr):&lt;br /&gt;
            sir_de_ord.append(sir[i])&lt;br /&gt;
    minisir_ord = sorted(sir_de_ord)&lt;br /&gt;
    for j in range(0, int(n)):&lt;br /&gt;
        if int(st) &amp;lt;= j &amp;lt;= int(dr):&lt;br /&gt;
            sir_final.append(minisir_ord[k])&lt;br /&gt;
            k += 1&lt;br /&gt;
        else:&lt;br /&gt;
            sir_final.append(sir[j])&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,sir_final)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    st = input(&amp;quot;Introduceti valoarea pt st:&amp;quot;)&lt;br /&gt;
    verificare_st(st, n)&lt;br /&gt;
    dr = input(&amp;quot;Introduceti valoare pt dr:&amp;quot;)&lt;br /&gt;
    verificare_dr(dr, n, st)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    ordonare_st_dr(lst_int, st, dr, n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește ca intrare un șir de numere întregi, o valoare st reprezentând poziția de început a unui subșir și o valoare dr reprezentând poziția de sfârșit a acelui subșir. Programul sortează subșirul și apoi întoarce șirul inițial cu subșirul sortat.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) este o funcție simplă care primește o valoare și returnează adevărat dacă valoarea este un număr întreg sau fals în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă n este un număr întreg valid și dacă este între 1 și 100. Dacă n nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_st(st, n) verifică dacă st este un număr întreg valid și dacă este între 1 și n-1. Dacă st nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_dr(dr, n, st) verifică dacă dr este un număr întreg valid și dacă este între st+1 și n. Dacă dr nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are lungimea corectă și dacă toate elementele sale sunt numere întregi valide. Dacă vectorul nu are lungimea corectă sau conține elemente invalide, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția ordonare_st_dr(sir, st, dr, n) primește ca argumente șirul inițial, poziția de început a subșirului st, poziția de sfârșit a subșirului dr și lungimea șirului n. Funcția extrage subșirul din șirul inițial, îl sortează și îl înlocuiește în șirul inițial. Funcția apoi afișează șirul inițial cu subșirul sortat.&lt;br /&gt;
&lt;br /&gt;
În funcția principală, programul primește input-ul de la utilizator pentru n, elem, st și dr și apoi verifică validitatea acestor intrări utilizând funcțiile verificare_nr_elemente(n), verificare_vector(n, elem), verificare_st(st, n) și verificare_dr(dr, n, st). Dacă toate intrările sunt valide, programul afișează &amp;quot;Datele introduse sunt corecte!&amp;quot; și apoi se continuă cu apelul funcției ordonare_st&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1510_%E2%80%93_FC%C4%83utare&amp;diff=3704</id>
		<title>1510 – FCăutare</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1510_%E2%80%93_FC%C4%83utare&amp;diff=3704"/>
		<updated>2023-04-15T17:30:43Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/1510/fcautare FCautare]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un număr &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;.  Să se returneze poziția din șir unde găsim elementul v. Dacă există mai multe poziții se va afișa doar una dintre ele, dacă nu există se va afișa -1.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi în ordine crescătoare reprezentând elementele șirului, și valoarea v&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa poziția în care găsim valoarea v, sau -1 dacă valoarea respectivă nu se găsește deloc în vector. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;=  n &amp;lt;= 100&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:12 12 3 4 2&lt;br /&gt;
:Introduceti valoarea pe care doriti sa o cautati:12&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Pozitia este: 1&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:12321 12 3&lt;br /&gt;
:Introduceti valoarea pe care doriti sa o cautati:2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:-1&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:13 11 2 1 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_v(v):&lt;br /&gt;
    if is_integer(v):&lt;br /&gt;
        return v&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                continue&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def afisare_pozitie(v, vector):&lt;br /&gt;
    for i in range(0, int(n)):&lt;br /&gt;
        if vector[i] == int(v):&lt;br /&gt;
            print(&amp;quot;Pozitia este:&amp;quot;, i+1)&lt;br /&gt;
            exit()&lt;br /&gt;
    print(&amp;quot;-1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    v = input(&amp;quot;Introduceti valoarea pe care doriti sa o cautati:&amp;quot;)&lt;br /&gt;
    verificare_v(v)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    afisare_pozitie(v, lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește ca intrare un număr întreg n reprezentând numărul de elemente dintr-un vector și vectorul însuși, format din n numere întregi. Programul mai primește o valoare v și afișează poziția primei apariții a valorii v în vector sau -1 dacă v nu se găsește în vector.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) este o funcție simplă care primește o valoare și returnează adevărat dacă valoarea este un număr întreg sau fals în caz contrar.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă n este un număr întreg valid și dacă este între 1 și 100. Dacă n nu este valid sau nu este în intervalul specificat, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_v(v) verifică dacă v este un număr întreg valid. Dacă v nu este valid, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are lungimea corectă și dacă toate elementele sale sunt numere întregi valide. Dacă vectorul nu are lungimea corectă sau conține elemente invalide, programul afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și se termină prin apelul funcției exit().&lt;br /&gt;
&lt;br /&gt;
Funcția afisare_pozitie(v, vector) parcurge vectorul și returnează poziția primei apariții a valorii v în vector sau -1 dacă v nu se găsește în vector.&lt;br /&gt;
&lt;br /&gt;
În funcția principală, programul primește input-ul de la utilizator pentru n, elem și v și apoi verifică validitatea acestor intrări utilizând funcțiile verificare_nr_elemente(n), verificare_vector(n, elem) și verificare_v(v). Dacă toate intrările sunt valide, programul afișează &amp;quot;Datele introduse sunt corecte!&amp;quot; și apoi se continuă cu apelul funcției afisare_pozitie(v, lst_int) pentru a găsi poziția primei apariții a valorii v în vector.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2630_%E2%80%93_Permd&amp;diff=3702</id>
		<title>2630 – Permd</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2630_%E2%80%93_Permd&amp;diff=3702"/>
		<updated>2023-04-15T17:12:21Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2630/permd Permd]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi unde exact una din aceste valori apare în vector de două ori. Funcția trebuie să returneze valoarea care apare de două ori.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa elementul vectorului care apare de două ori în acesta. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1.000.000&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 0 și n-1&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:1 1 1 3 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte! Nu exista o singura cifra care sa apara de exact 2 ori&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:1 1 2 3 4 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Singura cifra care apare de exact 2 ori este: 1&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:2 2 3 3 4 4 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nu exista o singura cifra care sa apara de exact 2 ori&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1500:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_pozitie_de_sters(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elem_p(vector, p):&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector.pop(int(p) - 1)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;, vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia de sters: &amp;quot;)&lt;br /&gt;
    verificare_pozitie_de_sters(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    eliminare_elem_p(elem, p)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 400000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def cifra_apare_de_doua_ori(lista):&lt;br /&gt;
    aparitii = [0] * 10&lt;br /&gt;
    for numar in lista:&lt;br /&gt;
        aparitii[numar] += 1&lt;br /&gt;
    cifre_de_doua_ori = [i for i, count in enumerate(aparitii) if count == 2]&lt;br /&gt;
    if len(cifre_de_doua_ori) == 1:&lt;br /&gt;
        print(&amp;quot;Singura cifra care apare de exact 2 ori este:&amp;quot;, cifre_de_doua_ori[0])&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Nu exista o singura cifra care sa apara de exact 2 ori&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    cifra_apare_de_doua_ori(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program are scopul de a verifica dacă într-o listă de numere întregi există o singură cifră care apare de exact 2 ori și, dacă există, o afișează. Programul conține mai multe funcții pentru a verifica și procesa datele introduse de utilizator.&lt;br /&gt;
&lt;br /&gt;
Funcții:&lt;br /&gt;
&lt;br /&gt;
# is_integer(value): Verifică dacă valoarea introdusă este un număr întreg și returnează un rezultat boolean.&lt;br /&gt;
# verificare_nr_elemente(n): Verifică dacă numărul de elemente &#039;n&#039; introdus de utilizator este valid (un întreg între 1 și 400000). Dacă nu este valid, programul va afișa un mesaj de eroare și se va închide.&lt;br /&gt;
# verificare_vector(n, vector): Verifică dacă lungimea vectorului introdus corespunde cu &#039;n&#039;, iar toate elementele din vector sunt numere întregi mai mici sau egale cu 1000000. Dacă nu, programul va afișa un mesaj de eroare și se va închide.&lt;br /&gt;
# cifra_apare_de_doua_ori(lista): Această funcție preia o listă de numere întregi și verifică dacă există o singură cifră care apare de exact 2 ori în acea listă. Dacă există o astfel de cifră, o afișează, altfel afișează un mesaj că nu există o astfel de cifră.&lt;br /&gt;
&lt;br /&gt;
Programul începe prin solicitarea numărului de elemente din listă (n) și apoi a elementelor listei. Apoi, verifică dacă datele introduse sunt corecte și validează numărul de elemente și vectorul introdus. Dacă datele sunt valide, programul converteste lista de șiruri de caractere într-o listă de numere întregi și apoi apelează funcția &amp;quot;cifra_apare_de_doua_ori()&amp;quot; pentru a verifica dacă există o singură cifră care apare de exact 2 ori și afișează rezultatul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0073_%E2%80%93_FSum_Vec_Min&amp;diff=3700</id>
		<title>0073 – FSum Vec Min</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0073_%E2%80%93_FSum_Vec_Min&amp;diff=3700"/>
		<updated>2023-04-15T16:59:48Z</updated>

		<summary type="html">&lt;p&gt;Miriam: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/73/fsumvecmin FSum Vec Min]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Programul returnează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; elemente din tabloul de n elemente.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură două valori &amp;lt;code&amp;gt;n m&amp;lt;/code&amp;gt;, cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma primelor m elemente cele mai mici ale șirului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt; m &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între -1.000.000 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 8&lt;br /&gt;
:Introduceti numarul m: 3&lt;br /&gt;
:Introduceti 8 numere separate prin spatiu:1321 123 22 312 1 12 2 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este: 4&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti numarul m: 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1500:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_pozitie_de_sters(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elem_p(vector, p):&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector.pop(int(p) - 1)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;, vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia de sters: &amp;quot;)&lt;br /&gt;
    verificare_pozitie_de_sters(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    eliminare_elem_p(elem, p)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program preia un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente, un număr &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere separate prin spațiu. Apoi, calculează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere dintre cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere introduse. Programul verifică și validează datele introduse înainte de a efectua operațiunea de calcul a sumei.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Verifică dacă valoarea introdusă este un număr întreg.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 100. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_m(m, n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; este un număr întreg între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Verifică dacă lungimea vectorului este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;suma_celor_m_mai_mici(sir, m)&amp;lt;/code&amp;gt;: Calculează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere din lista &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; și afișează suma.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul execută următoarele acțiuni:&lt;br /&gt;
&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; de la utilizator și verifică dacă este valid în raport cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Preia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide.&lt;br /&gt;
# Convertește elementele în numere întregi și le stochează în lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Afișează un mesaj care indică faptul că datele introduse sunt corecte.&lt;br /&gt;
# Apelează funcția &amp;lt;code&amp;gt;suma_celor_m_mai_mici(lst_int, m)&amp;lt;/code&amp;gt; pentru a calcula și afișa suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere din lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2721_%E2%80%93_Insert&amp;diff=3699</id>
		<title>2721 – Insert</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2721_%E2%80%93_Insert&amp;diff=3699"/>
		<updated>2023-04-15T16:58:46Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2721/insert Insert]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se insereze după fiecare număr impar dublul său.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;,  urmată de n numere întregi.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării după fiecare element impar dublul său. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 400000&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 0 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:13 56 34&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul sir este: [13, 26, 56, 34]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 5 Introduceti 5 numere separate prin spatiu:1 1 1 3 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 400000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adaugare_dublu_impar(sir):&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for elem in sir:&lt;br /&gt;
        sir_nou.append(elem)&lt;br /&gt;
        if elem % 2 == 1:&lt;br /&gt;
            sir_nou.append(int(elem)*2)&lt;br /&gt;
    print(&amp;quot;Noul sir este:&amp;quot;, sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    adaugare_dublu_impar(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program Python are scopul de a crea un nou șir de numere, în care după fiecare număr impar se adaugă dublul său. Programul conține mai multe funcții pentru a verifica și procesa datele introduse de utilizator.&lt;br /&gt;
&lt;br /&gt;
Funcții:&lt;br /&gt;
&lt;br /&gt;
# is_integer(value): Verifică dacă valoarea introdusă este un număr întreg și returnează un rezultat boolean.&lt;br /&gt;
# verificare_nr_elemente(n): Verifică dacă numărul de elemente &#039;n&#039; introdus de utilizator este valid (un întreg între 1 și 400000). Dacă nu este valid, programul va afișa un mesaj de eroare și se va închide.&lt;br /&gt;
# verificare_vector(n, vector): Verifică dacă lungimea vectorului introdus corespunde cu &#039;n&#039;, iar toate elementele din vector sunt numere întregi mai mici sau egale cu 1000000. Dacă nu, programul va afișa un mesaj de eroare și se va închide.&lt;br /&gt;
# adaugare_dublu_impar(sir): Această funcție preia un șir de numere întregi și creează un nou șir în care, după fiecare număr impar, se adaugă dublul său. Apoi afișează noul șir creat.&lt;br /&gt;
&lt;br /&gt;
Programul începe prin solicitarea numărului de elemente din șirul inițial (n) și apoi a elementelor șirului. Apoi, verifică dacă datele introduse sunt corecte și validează numărul de elemente și vectorul introdus. Dacă datele sunt valide, programul converteste șirul de caractere într-un șir de numere întregi și apoi apelează funcția &amp;quot;adaugare_dublu_impar()&amp;quot; pentru a crea și afișa noul șir cu dublurile numerelor impare adăugate.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3656_%E2%80%93_FGreater&amp;diff=3698</id>
		<title>3656 – FGreater</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3656_%E2%80%93_FGreater&amp;diff=3698"/>
		<updated>2023-04-15T16:49:01Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/3656/fgreater FGreater]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un număr &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; întreg. Funcția returnează cel mai mic număr din șir, strict mai mare decât &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;. În caz că nu există o asemenea valoare, funcția va returna valoarea &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, urmată de n numere întregi, și un nr x.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa cel mai mic număr din șir, strict mai mare decât x (dacă nu există, se va returna -1). În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt;=n[i], x &amp;lt;= 2^31 - 1&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:1234 21 12 1&lt;br /&gt;
:Introduceti valoarea x: 11&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Cel mai mic nr strict mai mare decat x este 12&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:1234 21 12 1&lt;br /&gt;
:Introduceti valoarea x: 123456&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:-1&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:23443 323 23 23 2 34&lt;br /&gt;
:Introduceti valoarea x: 5&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Cel mai mic nr strict mai mare decat x este 23&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 1000000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 2**31 - 1:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_x(x):&lt;br /&gt;
    if is_integer(x):&lt;br /&gt;
        if int(x) &amp;lt;= 2**31 - 1:&lt;br /&gt;
            return x&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def nr_strict_mai_mare(sir, x):&lt;br /&gt;
    nr_mai_mari = []&lt;br /&gt;
    for elem in sir:&lt;br /&gt;
        if elem &amp;gt; int(x):&lt;br /&gt;
            nr_mai_mari.append(elem)&lt;br /&gt;
    if len(nr_mai_mari) == 0:&lt;br /&gt;
        print(&amp;quot;-1&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        nr_mai_mari_sortate = sorted(nr_mai_mari)&lt;br /&gt;
        print(&amp;quot;Cel mai mic nr strict mai mare decat x este&amp;quot;, nr_mai_mari_sortate[0])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    x = input(&amp;quot;Introduceti valoarea x: &amp;quot;)&lt;br /&gt;
    verificare_x(x)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    nr_strict_mai_mare(lst_int, x)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program este creat pentru a găsi cel mai mic număr strict mai mare decât o valoare dată (x) într-un șir de numere introdus de utilizator. Programul conține mai multe funcții pentru a verifica și procesa datele introduse:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; - Verifică dacă un șir de caractere conține doar cifre și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; în acest caz sau &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; - Verifică dacă numărul de elemente introdus este un număr întreg între 1 și 1.000.000. Dacă nu este, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; - Verifică dacă lungimea vectorului introdus este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi mai mici sau egale cu 2^31 - 1. Dacă nu, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_x(x)&amp;lt;/code&amp;gt; - Verifică dacă valoarea x introdusă este un număr întreg mai mic sau egal cu 2^31 - 1. Dacă nu este, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;nr_strict_mai_mare(sir, x)&amp;lt;/code&amp;gt; - Primeste un sir de numere întregi și valoarea x, găsește cel mai mic număr strict mai mare decât x în sir, și afișează rezultatul. Dacă nu există un astfel de număr, afișează &amp;quot;-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;__main__&amp;lt;/code&amp;gt;, programul solicită utilizatorului să introducă numărul de elemente și elementele sirului, apoi verifică datele introduse. De asemenea, se cere valoarea x și se verifică dacă este corectă. Dacă toate datele sunt corecte, programul apelează funcția &amp;lt;code&amp;gt;nr_strict_mai_mare()&amp;lt;/code&amp;gt; pentru a găsi cel mai mic număr strict mai mare decât x în sir și afișează rezultatul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2083_%E2%80%93_Ordon123&amp;diff=3696</id>
		<title>2083 – Ordon123</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2083_%E2%80%93_Ordon123&amp;diff=3696"/>
		<updated>2023-04-15T16:34:06Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2083/ordon123 Ordon123]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi de tipul 1, 2 sau 3. Să se ordoneze elementele în ordine crescătoare.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoarea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării crescătoare a elementelor. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1.000.000&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse în intervalul [1, 3]&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 8 Introduceti 8 numere separate prin spatiu:1 2 3 1 2 3 1 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [1, 1, 1, 2, 2, 2, 3, 3]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente a sirului: 123456789&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt;= 1000000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if 1 &amp;lt;= int(i) &amp;lt;= 3:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_crescator(sir):&lt;br /&gt;
    sir_ordonat = sorted(sir)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;,sir_ordonat)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente a sirului: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    ordonare_crescator(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program este conceput pentru a ordona crescător un sir de numere introdus de utilizator. Programul conține mai multe funcții pentru a verifica și procesa datele introduse:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; - Verifică dacă un șir de caractere conține doar cifre și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; în acest caz sau &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; - Verifică dacă numărul de elemente introdus este un număr întreg între 1 și 1.000.000. Dacă nu este, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; - Verifică dacă lungimea vectorului introdus este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi între 1 și 3. Dacă nu, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;ordonare_crescator(sir)&amp;lt;/code&amp;gt; - Primește un sir de numere întregi, le sortează în ordine crescătoare și afișează sirul ordonat.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;__main__&amp;lt;/code&amp;gt;, programul solicită utilizatorului să introducă numărul de elemente și elementele sirului, apoi verifică datele introduse. Dacă datele sunt corecte, programul apelează funcția &amp;lt;code&amp;gt;ordonare_crescator()&amp;lt;/code&amp;gt; pentru a sorta sirul în ordine crescătoare și afișează rezultatul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3791_%E2%80%93_Interclas_No_Memory&amp;diff=3694</id>
		<title>3791 – Interclas No Memory</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3791_%E2%80%93_Interclas_No_Memory&amp;diff=3694"/>
		<updated>2023-04-15T16:25:28Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/3791/interclasnomemory Interclas No Memory]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau două șiruri de numere naturale, cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, respectiv &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; elemente, ordonate crescător. Să se scrie definiția funcției &amp;lt;code&amp;gt;interclasare&amp;lt;/code&amp;gt; care nu are parametri și nu întoarce niciun rezultat, și care să determine al treilea șir care să conţină, în ordine crescătoare, elementele din primele două şiruri.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare n, urmată de n numere întregi, după care va citi o valoare m, urmată de m numere întregi.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut prin ordonarea elementelor obținute prin alăturarea celor doi vectori. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n, m &amp;lt;= 100.000&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente pentru primul sir: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:12 1 1&lt;br /&gt;
:Introduceti numarul de elemente pentru cel de al doilea sir: 4&lt;br /&gt;
:Introduceti 4 numere separate prin spatiu:123 12 24 56&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Vectorul nou este: [1, 1, 12, 12, 24, 56, 123]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente pentru primul sir: 4 Introduceti 4 numere separate prin spatiu:12 1 31 12 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt; 100000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def reuneste_si_ordoneaza(lista1, lista2):&lt;br /&gt;
    lista_combinata = lista1 + lista2&lt;br /&gt;
    lista_sortata = sorted(lista_combinata)&lt;br /&gt;
    print(&amp;quot;Vectorul nou este:&amp;quot;,lista_sortata)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente pentru primul sir: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int1 = list(map(int, elem))&lt;br /&gt;
    m = input(&amp;quot;Introduceti numarul de elemente pentru cel de al doilea sir: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(m)&lt;br /&gt;
    elem2 = input(f&amp;quot;Introduceti {m} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(m, elem2)&lt;br /&gt;
    lst_int2 = list(map(int, elem2))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    reuneste_si_ordoneaza(lst_int1, lst_int2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program conține funcții pentru a verifica și procesa două siruri de numere introduse de utilizator. După ce utilizatorul introduce numerele, programul combină și sortează cele două siruri de numere în ordine crescătoare.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; - Verifică dacă un șir de caractere conține doar cifre și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; în acest caz sau &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; - Verifică dacă numărul de elemente introdus este un număr întreg între 1 și 9. Dacă nu este, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; - Verifică dacă lungimea vectorului introdus este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi mai mici sau egale cu 1.000.000.000. Dacă nu, afișează un mesaj de eroare și închide programul.&lt;br /&gt;
# &amp;lt;code&amp;gt;reuneste_si_ordoneaza(lista1, lista2)&amp;lt;/code&amp;gt; - Primește două liste de numere întregi, le combină și le sortează în ordine crescătoare, apoi afișează lista sortată.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;__main__&amp;lt;/code&amp;gt;, programul solicită utilizatorului să introducă numărul de elemente și elementele pentru fiecare dintre cele două siruri, apoi verifică datele introduse. Dacă datele sunt corecte, programul apelează funcția &amp;lt;code&amp;gt;reuneste_si_ordoneaza()&amp;lt;/code&amp;gt; pentru a combina și sorta cele două siruri și afișează rezultatul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0041_%E2%80%93_Creare_Num%C4%83r&amp;diff=3691</id>
		<title>0041 – Creare Număr</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0041_%E2%80%93_Creare_Num%C4%83r&amp;diff=3691"/>
		<updated>2023-04-15T16:11:07Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/41/crearenumar CreareNumar]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un număr &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;.  Să se șteargă din șirul &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; elementul aflat pe poziția &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură două valori &amp;lt;code&amp;gt;n p&amp;lt;/code&amp;gt;, cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma eliminării elementului de pe poziția p. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt;  n &amp;lt; 10&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 10&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:1 2 3 4 5 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Numarul obtinut prin concatenarea elementelor pare este: 246&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 numere separate prin spatiu:3 5 7&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nu exista elemente pare in vector&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt; int(n) &amp;lt; 10:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def concatenare_cifre_pare(vector):&lt;br /&gt;
    nr = &#039;&#039;&lt;br /&gt;
    cont = 0&lt;br /&gt;
    for elem in vector:&lt;br /&gt;
        if elem % 2 == 0:&lt;br /&gt;
            nr += str(elem)&lt;br /&gt;
            cont += 1&lt;br /&gt;
    if cont == 0:&lt;br /&gt;
        print(&amp;quot;Nu exista elemente pare in vector&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    print(&amp;quot;Numarul obtinut prin concatenarea elementelor pare este:&amp;quot;, nr)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    concatenare_cifre_pare(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, verifică validitatea datelor introduse și apoi concatenează și afișează cifrele pare din vector. Iată o explicație pas cu pas a programului:&lt;br /&gt;
&lt;br /&gt;
# Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente, este întreg și între 1 și 9 (strict mai mic decât 10).&lt;br /&gt;
# Verifică dacă șirul de numere introdus are lungimea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi între 1 și 10 (strict mai mic sau egal cu 10).&lt;br /&gt;
# Definește funcția &amp;lt;code&amp;gt;concatenare_cifre_pare&amp;lt;/code&amp;gt; care parcurge vectorul și verifică dacă un element este par (restul împărțirii la 2 este 0). Dacă este par, adaugă cifra respectivă la un șir &amp;lt;code&amp;gt;nr&amp;lt;/code&amp;gt;. De asemenea, actualizează variabila &amp;lt;code&amp;gt;cont&amp;lt;/code&amp;gt; pentru a număra câte elemente pare au fost întâlnite.&lt;br /&gt;
# După ce parcurge întregul vector, verifică dacă există elemente pare (&amp;lt;code&amp;gt;cont&amp;lt;/code&amp;gt; &amp;gt; 0). Dacă nu există, afișează un mesaj corespunzător și încheie execuția programului. Altfel, afișează numărul obținut prin concatenarea cifrelor pare din vector.&lt;br /&gt;
# Apelă funcția &amp;lt;code&amp;gt;concatenare_cifre_pare&amp;lt;/code&amp;gt; cu vectorul introdus de utilizator și afișează rezultatul.&lt;br /&gt;
&lt;br /&gt;
Programul urmează acești pași pentru a se asigura că datele introduse sunt corecte și pentru a oferi informațiile cerute despre vector (concatenarea cifrelor pare din vector).&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0040_%E2%80%93_Vector_Max_Min_Sum&amp;diff=3689</id>
		<title>0040 – Vector Max Min Sum</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0040_%E2%80%93_Vector_Max_Min_Sum&amp;diff=3689"/>
		<updated>2023-04-15T16:03:21Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/40/vectormaxminsum Vector Max Min Sum]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se afișeze valoarea minimă, valoarea maximă și suma elementelor șirului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa minimul, maximul și suma tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;=  n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:ntroduceti 5 numere separate prin spatiu:12 13 121 312 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:mini: 3 maxi: 312 sum: 461&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 12345&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:1 1 1 1 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:mini: 1 maxi: 1 sum: 5&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def min_max_sum(vector):&lt;br /&gt;
    mini = 100000000&lt;br /&gt;
    maxi = 0&lt;br /&gt;
    sum = 0&lt;br /&gt;
    for elem in vector:&lt;br /&gt;
        if elem &amp;lt; mini:&lt;br /&gt;
            mini = elem&lt;br /&gt;
        if elem &amp;gt; maxi:&lt;br /&gt;
            maxi = elem&lt;br /&gt;
        sum += elem&lt;br /&gt;
    print(&amp;quot;mini:&amp;quot;, mini, &amp;quot;maxi:&amp;quot;, maxi, &amp;quot;sum:&amp;quot;, sum)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    min_max_sum(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, verifică validitatea datelor introduse și apoi calculează și afișează valoarea minimă, valoarea maximă și suma elementelor din vector. Iată o explicație pas cu pas a programului:&lt;br /&gt;
&lt;br /&gt;
# Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente, este întreg și între 0 și 100.&lt;br /&gt;
# Verifică dacă șirul de numere introdus are lungimea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi între 1 și 10000.&lt;br /&gt;
# Definește funcția &amp;lt;code&amp;gt;min_max_sum&amp;lt;/code&amp;gt; care calculează valoarea minimă, valoarea maximă și suma elementelor din vector. Inițializează variabilele &amp;lt;code&amp;gt;mini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;maxi&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;sum&amp;lt;/code&amp;gt;. Iterează prin elementele vectorului și actualizează valoarea minimă, valoarea maximă și suma elementelor.&lt;br /&gt;
# Apelă funcția &amp;lt;code&amp;gt;min_max_sum&amp;lt;/code&amp;gt; cu vectorul introdus de utilizator și afișează valoarea minimă, valoarea maximă și suma elementelor din vector.&lt;br /&gt;
&lt;br /&gt;
Programul urmează acești pași pentru a se asigura că datele introduse sunt corecte și pentru a oferi informațiile cerute despre vector (valoarea minimă, valoarea maximă și suma elementelor).&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0038_%E2%80%93_Shift&amp;diff=3687</id>
		<title>0038 – Shift</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0038_%E2%80%93_Shift&amp;diff=3687"/>
		<updated>2023-04-15T15:53:41Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/38/shift Shift]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Programul va permuta cu o poziție spre stânga elementele vectorului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, urmată de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma permutării cu o poziție spre stânga a elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu: 1 2 3 4 5 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Vectorul obtinut dupa permutare este: [2, 3, 4, 5, 6, 1]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 1234&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1500:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_pozitie_de_sters(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elem_p(vector, p):&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector.pop(int(p) - 1)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;, vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia de sters: &amp;quot;)&lt;br /&gt;
    verificare_pozitie_de_sters(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    eliminare_elem_p(elem, p)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, verifică validitatea datelor introduse și apoi permută elementele vectorului o poziție spre stânga. Iată o explicație pas cu pas a programului:&lt;br /&gt;
&lt;br /&gt;
# Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente, este întreg și între 0 și 100.&lt;br /&gt;
# Verifică dacă șirul de numere introdus are lungimea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele sunt numere întregi între 1 și 10000.&lt;br /&gt;
# Definește funcția &amp;lt;code&amp;gt;permuta_stanga&amp;lt;/code&amp;gt; care permută elementele vectorului o poziție spre stânga. Funcția stochează primul element al vectorului în variabila &amp;lt;code&amp;gt;primul_element&amp;lt;/code&amp;gt;, apoi mută toate celelalte elemente cu o poziție spre stânga. La final, adaugă &amp;lt;code&amp;gt;primul_element&amp;lt;/code&amp;gt; la sfârșitul vectorului.&lt;br /&gt;
# Apelă funcția &amp;lt;code&amp;gt;permuta_stanga&amp;lt;/code&amp;gt; cu vectorul introdus de utilizator și afișează vectorul permutat.&lt;br /&gt;
&lt;br /&gt;
Programul urmează acești pași pentru a se asigura că datele introduse sunt corecte și pentru a oferi vectorul permutat după aplicarea permutării spre stânga.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0073_%E2%80%93_FSum_Vec_Min&amp;diff=3686</id>
		<title>0073 – FSum Vec Min</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0073_%E2%80%93_FSum_Vec_Min&amp;diff=3686"/>
		<updated>2023-04-15T15:40:42Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/159/inseraredupa Stergere_Element]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Programul returnează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; elemente din tabloul de n elemente.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură două valori &amp;lt;code&amp;gt;n m&amp;lt;/code&amp;gt;, cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma primelor m elemente cele mai mici ale șirului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt; m &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între -1.000.000 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 8&lt;br /&gt;
:Introduceti numarul m: 3&lt;br /&gt;
:Introduceti 8 numere separate prin spatiu:1321 123 22 312 1 12 2 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este: 4&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 123&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti numarul m: 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1500:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_pozitie_de_sters(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if 1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_elem_p(vector, p):&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector.pop(int(p) - 1)&lt;br /&gt;
    print(&amp;quot;Noul vector este:&amp;quot;, vector)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia de sters: &amp;quot;)&lt;br /&gt;
    verificare_pozitie_de_sters(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    eliminare_elem_p(elem, p)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program preia un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente, un număr &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere separate prin spațiu. Apoi, calculează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere dintre cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere introduse. Programul verifică și validează datele introduse înainte de a efectua operațiunea de calcul a sumei.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Verifică dacă valoarea introdusă este un număr întreg.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 100. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_m(m, n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; este un număr întreg între 1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Verifică dacă lungimea vectorului este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;suma_celor_m_mai_mici(sir, m)&amp;lt;/code&amp;gt;: Calculează suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere din lista &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; și afișează suma.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul execută următoarele acțiuni:&lt;br /&gt;
&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; de la utilizator și verifică dacă este valid în raport cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Preia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide.&lt;br /&gt;
# Convertește elementele în numere întregi și le stochează în lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Afișează un mesaj care indică faptul că datele introduse sunt corecte.&lt;br /&gt;
# Apelează funcția &amp;lt;code&amp;gt;suma_celor_m_mai_mici(lst_int, m)&amp;lt;/code&amp;gt; pentru a calcula și afișa suma celor mai mici &amp;lt;code&amp;gt;m&amp;lt;/code&amp;gt; numere din lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0075_%E2%80%93_FSum_Div3&amp;diff=3685</id>
		<title>0075 – FSum Div3</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0075_%E2%80%93_FSum_Div3&amp;diff=3685"/>
		<updated>2023-04-15T15:30:21Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/75/fsumdiv3 FSum DIv3]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un număr &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;.  Să se șteargă din șirul &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; elementul aflat pe poziția &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură două valori &amp;lt;code&amp;gt;n p&amp;lt;/code&amp;gt;, cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma elementelor divizibile cu 3 din șir. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere separate prin spatiu:3 2 6 9 12&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este: 30&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 1234&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 numere separate prin spatiu:1 2 4 5 6 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este: 9&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_div_cu_3(sir):&lt;br /&gt;
    suma = 0&lt;br /&gt;
    for elem in sir:&lt;br /&gt;
        if elem % 3 == 0:&lt;br /&gt;
            suma += elem&lt;br /&gt;
    print(&amp;quot;Suma este:&amp;quot;, suma )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    suma_div_cu_3(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program preia un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere separate prin spațiu. Apoi, calculează suma tuturor numerelor divizibile cu 3 dintre acestea. Programul verifică și validează datele introduse înainte de a efectua operațiunea de calcul a sumei.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Verifică dacă valoarea introdusă este un număr întreg.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 100. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Verifică dacă lungimea vectorului este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;suma_div_cu_3(sir)&amp;lt;/code&amp;gt;: Calculează suma elementelor divizibile cu 3 din lista &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; și afișează suma.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul execută următoarele acțiuni:&lt;br /&gt;
&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Preia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide.&lt;br /&gt;
# Convertește elementele în numere întregi și le stochează în lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Afișează un mesaj care indică faptul că datele introduse sunt corecte.&lt;br /&gt;
# Apelează funcția &amp;lt;code&amp;gt;suma_div_cu_3(lst_int)&amp;lt;/code&amp;gt; pentru a calcula și afișa suma numerelor divizibile cu 3 din lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0117_%E2%80%93_Creare_Num%C4%83r1&amp;diff=3684</id>
		<title>0117 – Creare Număr1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0117_%E2%80%93_Creare_Num%C4%83r1&amp;diff=3684"/>
		<updated>2023-04-15T15:23:44Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/117/crearenumar1 CreareNumar1]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se afișeze numărul obținut prin concatenarea numărului de valoare maximă și a celui de valoare minimă, în această ordine.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, urmată de n numere naturale.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa numărul obținut prin concatenarea celei mai mari și a celei mai mici valori din vector. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 10&lt;br /&gt;
:Introduceti 10 numere separate prin spatiu:12 1 12 1231 123 1 2 31 12 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:12311&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 134&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere de maxim 4 cifre separate prin spatiu:12342 12 21 sa&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def concatenare(sir):&lt;br /&gt;
    minim = 100000&lt;br /&gt;
    maxim = 0&lt;br /&gt;
    for elem in sir:&lt;br /&gt;
        if elem &amp;lt; minim:&lt;br /&gt;
            minim = elem&lt;br /&gt;
        if elem &amp;gt; maxim:&lt;br /&gt;
            maxim = elem&lt;br /&gt;
    print(str(maxim)+str(minim))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    concatenare(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program preia un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere separate prin spațiu. Apoi, el găsește cel mai mic și cel mai mare număr dintre acestea și le concatenează pentru a forma un nou număr. Programul verifică și validează datele introduse înainte de a efectua operațiunea de concatenare.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Verifică dacă valoarea introdusă este un număr întreg.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 1 și 100. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Verifică dacă lungimea vectorului este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;concatenare(sir)&amp;lt;/code&amp;gt;: Găsește minimul și maximul din lista &amp;lt;code&amp;gt;sir&amp;lt;/code&amp;gt; și le concatenează într-un singur număr. Afișează numărul rezultat.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul execută următoarele acțiuni:&lt;br /&gt;
&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Preia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide.&lt;br /&gt;
# Convertește elementele în numere întregi și le stochează în lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Afișează un mesaj care indică faptul că datele introduse sunt corecte.&lt;br /&gt;
# Apelează funcția &amp;lt;code&amp;gt;concatenare(lst_int)&amp;lt;/code&amp;gt; pentru a găsi și afișa numărul rezultat din concatenarea minimului și maximului din lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0802_%E2%80%93_Sum_Imp_K&amp;diff=3683</id>
		<title>0802 – Sum Imp K</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0802_%E2%80%93_Sum_Imp_K&amp;diff=3683"/>
		<updated>2023-04-15T15:08:40Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/802/sumimpk SumImpK]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se facă suma primelor k numere impare din șir. Dacă nu există k elemente impare în șir se va returna un mesaj de eroare.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură două valori &amp;lt;code&amp;gt;n k&amp;lt;/code&amp;gt; cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma primelor k elemente impare, dacă exsită k elemente impare în șir. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt;  n &amp;lt; 50&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 10.000&lt;br /&gt;
*0 &amp;lt; k &amp;lt;= n&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere de maxim 4 cifre separate prin spatiu:1 1 1 1 1&lt;br /&gt;
:Introduceti un nr k: 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma este:  3&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere de maxim 4 cifre separate prin spatiu:1 3 2 6 4&lt;br /&gt;
:Introduceti un nr k: 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nu exista destule elemente impare&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere de maxim 4 cifre separate prin spatiu:1 56 3 1 21&lt;br /&gt;
:Introduceti un nr k: 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 3 &amp;lt;= int(n) &amp;lt;= 49:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def k_valid(k, n):&lt;br /&gt;
    if is_integer(k):&lt;br /&gt;
        if int(k) &amp;lt;= int(n):&lt;br /&gt;
            return True&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_primele_k_elemente_impare(lst, k):&lt;br /&gt;
    count = 0&lt;br /&gt;
    suma = 0&lt;br /&gt;
    for num in lst:&lt;br /&gt;
        if num % 2 == 1:&lt;br /&gt;
            suma += num&lt;br /&gt;
            count += 1&lt;br /&gt;
        if count == int(k):&lt;br /&gt;
            print(&amp;quot;Suma este: &amp;quot;, suma)&lt;br /&gt;
            exit()&lt;br /&gt;
    if count &amp;lt; int(k):&lt;br /&gt;
        print(&amp;quot;Nu exista destule elemente impare&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere de maxim 4 cifre separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    k = input(&amp;quot;Introduceti un nr k: &amp;quot;)&lt;br /&gt;
    k_valid(k, n)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    suma_primele_k_elemente_impare(lst_int, k)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program preia ca intrare un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente, &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere separate prin spațiu și un număr &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt;. Programul calculează suma primelor &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente impare dintre cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere introduse. Programul conține mai multe funcții care validează și verifică dacă datele introduse sunt corecte, înainte de a efectua operația de calcul a sumei.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Verifică dacă valoarea introdusă este un număr întreg.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 3 și 49. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;k_valid(k, n)&amp;lt;/code&amp;gt;: Verifică dacă &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; este un număr întreg mai mic sau egal cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Dacă nu, afișează un mesaj de eroare.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Verifică dacă lungimea vectorului este egală cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și dacă toate elementele din vector sunt numere întregi mai mici sau egale cu 10000. Dacă nu, programul se oprește.&lt;br /&gt;
# &amp;lt;code&amp;gt;suma_primele_k_elemente_impare(lst, k)&amp;lt;/code&amp;gt;: Calculează suma primelor &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente impare din lista &amp;lt;code&amp;gt;lst&amp;lt;/code&amp;gt;. Dacă nu există suficiente elemente impare în lista, afișează un mesaj corespunzător.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul execută următoarele acțiuni:&lt;br /&gt;
&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; de elemente de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Preia &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere de la utilizator, separate prin spațiu, și verifică dacă sunt valide.&lt;br /&gt;
# Convertește elementele în numere întregi și le stochează în lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Preia numărul &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; de la utilizator și verifică dacă este valid.&lt;br /&gt;
# Afișează un mesaj care indică faptul că datele introduse sunt corecte.&lt;br /&gt;
# Calculează și afișează suma primelor &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; elemente impare din lista &amp;lt;code&amp;gt;lst_int&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0808_%E2%80%93_Mutare&amp;diff=3680</id>
		<title>0808 – Mutare</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0808_%E2%80%93_Mutare&amp;diff=3680"/>
		<updated>2023-04-15T14:11:29Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/808/mutare Mutare]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi și un număr X.  Să se reordoneze elementele șirului astfel încât toate elementele care sunt egale cu X să apare primele, iar restul elementelor să fie afișate după, în ordine în care apar în vectorul inițial.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură valoare &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;   apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului, și valoarea x.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa șirul reordonat. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt; n &amp;lt; 50&lt;br /&gt;
*Valoarea x trebuie să existe măcar odată în șirul inițial.&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 10.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 numere de maxim 4 cifre separate prin spatiu:45 2 3 2 6&lt;br /&gt;
:Introduceti un nr x: 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [2, 2, 45, 3, 6]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 numere de maxim 4 cifre separate prin spatiu:12 2 3&lt;br /&gt;
:Introduceti un nr x: 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Nu exista numarul x in sirul dat&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 56&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 3 &amp;lt;= int(n) &amp;lt;= 49:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_x(x, sir):&lt;br /&gt;
    if is_integer(x):&lt;br /&gt;
        este = False&lt;br /&gt;
        for elem in sir:&lt;br /&gt;
            if int(elem) == int(x):&lt;br /&gt;
                este = True&lt;br /&gt;
        if este:&lt;br /&gt;
            return x&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu exista numarul x in sirul dat&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def modificare_vector(vector, x):&lt;br /&gt;
    elemente_x = []&lt;br /&gt;
    elemente_non_x = []&lt;br /&gt;
    for elem in vector:&lt;br /&gt;
        if int(elem) == int(x):&lt;br /&gt;
            elemente_x.append(elem)&lt;br /&gt;
        else:&lt;br /&gt;
            elemente_non_x.append(elem)&lt;br /&gt;
    vector_nou = elemente_x + elemente_non_x&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, vector_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere de maxim 4 cifre separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    x = input(&amp;quot;Introduceti un nr x: &amp;quot;)&lt;br /&gt;
    verificare_x(x, lst_int)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    modificare_vector(lst_int, x)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program implementează o soluție pentru problema de a muta toate elementele dintr-un vector care au o anumită valoare specificată (x) la începutul vectorului, în aceeași ordine, în timp ce elementele rămase rămân la sfârșitul vectorului, în aceeași ordine. Programul cere utilizatorului să introducă numărul de elemente ale vectorului, vectorul și valoarea x. Apoi, verifică dacă datele introduse sunt corecte și, în caz afirmativ, aplică funcția modificare_vector(vector, x) pentru a muta elementele x la începutul vectorului și a afișa noul vector.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) verifică dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă numărul de elemente n este un număr întreg între 3 și 49 și returnează acest număr. Dacă n nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_x(x, sir) verifică dacă valoarea x se află în vectorul sir și returnează acest număr. Dacă x nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are n elemente și dacă fiecare element este un număr întreg între -10000 și 10000. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția modificare_vector(vector, x) creează două liste separate pentru elementele x și cele non-x, apoi le concatenează într-un nou vector și afișează vectorul nou.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea if name == &#039;main&#039;: verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile verificare_nr_elemente(n), verificare_x(x, lst_int), verificare_vector(n, elem) și modificare_vector(lst_int, x) pentru a verifica datele introduse și a muta elementele x la începutul vectorului.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0811_%E2%80%93_%C3%8Enlocuire0&amp;diff=3677</id>
		<title>0811 – Înlocuire0</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0811_%E2%80%93_%C3%8Enlocuire0&amp;diff=3677"/>
		<updated>2023-04-15T13:44:31Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/811/inlocuire0 Inlocuire0]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se înlocuiască toate elementele cu valoare mai mică sau egală decât primul element al vectorului cu 0.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; , numărul de elemente care vor fi introduse și n numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma înlocuirii elementelor mai mici sau egale cu prima cifră a șirului cu 0. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*2 &amp;lt; n &amp;lt; 50&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 10.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 4&lt;br /&gt;
:Introduceti 4 numere de maxim 4 cifre separate prin spatiu:4 3 5 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este: [0, 0, 5, 0]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 51&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 7&lt;br /&gt;
:Introduceti 7 numere de maxim 4 cifre separate prin spatiu:10 4 3 56 2 12 14&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [0, 0, 0, 56, 0, 12, 14]&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 3 &amp;lt;= int(n) &amp;lt;= 49:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -int(i) &amp;lt;= 10000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def inlocuire_cu_0(sir):&lt;br /&gt;
    elem_de_inloc = sir[0]&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for elem in sir:&lt;br /&gt;
        if elem &amp;lt;= elem_de_inloc:&lt;br /&gt;
            sir_nou.append(0)&lt;br /&gt;
        else:&lt;br /&gt;
            sir_nou.append(elem)&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere de maxim 4 cifre separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    inlocuire_cu_0(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program implementează o soluție pentru problema înlocuirii elementelor dintr-un vector cu 0, dacă acestea sunt mai mici sau egale cu primul element din vector. Utilizatorul introduce un număr de elemente, urmat de elementele vectorului. Se verifică dacă datele introduse sunt corecte și, în caz afirmativ, se creează un nou vector cu elementele înlocuite cu 0, după criteriul specificat.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) verifică dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_nr_elemente(n) verifică dacă numărul de elemente n este un număr întreg între 3 și 49 și returnează acest număr. Dacă n nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(n, vector) verifică dacă vectorul are n elemente și dacă fiecare element este un număr întreg între -10000 și 10000. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția inlocuire_cu_0(sir) creează un nou vector cu elementele din sir înlocuite cu 0, după criteriul specificat în cerință, și afișează noul vector.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea if name == &#039;main&#039;: verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile verificare_nr_elemente(n), verificare_vector(n, elem) și inlocuire_cu_0(lst_int) pentru a verifica datele introduse și crea noul vector.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1827_%E2%80%93_Vector_Sum_Prim&amp;diff=3676</id>
		<title>1827 – Vector Sum Prim</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1827_%E2%80%93_Vector_Sum_Prim&amp;diff=3676"/>
		<updated>2023-04-15T13:08:52Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/1827/vectorsumprim VectorSumPrim]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi. Să se afișeze suma elementelor prime din șir.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; , reprezentând numărul de elemente ale șirului, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa suma elementelor prime, dacă nu există, se va afișa mesajul &amp;quot;Nu există numere prime!&amp;quot;. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi  &amp;lt; 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim 6 cifre separate prin spatiu:7 9 1 234&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Suma elementelor prime este: 7&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim 6 cifre separate prin spatiu:1234000 12 121 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim 6 cifre separate prin spatiu:4 6 8 12 15&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nu exista numere prime in sir!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def este_prim(n):&lt;br /&gt;
    if n &amp;lt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    for i in range(2, int(n ** 0.5) + 1):&lt;br /&gt;
        if n % i == 0:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(vector):&lt;br /&gt;
    n = 0&lt;br /&gt;
    for i in vector:&lt;br /&gt;
        if is_integer(i):&lt;br /&gt;
            if 0 &amp;lt; int(i) &amp;lt; 1000000:&lt;br /&gt;
                n += 1&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    if n &amp;gt; 100 or n &amp;lt; 0:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_elementelor_prime(sir):&lt;br /&gt;
    suma = 0&lt;br /&gt;
    for nr in sir:&lt;br /&gt;
        if este_prim(nr):&lt;br /&gt;
            suma += nr&lt;br /&gt;
    if suma == 0:&lt;br /&gt;
        print(&amp;quot;Nu exista numere prime in sir!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    print(&amp;quot;Suma elementelor prime este:&amp;quot;, suma)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti numere de maxim 6 cifre separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    suma_elementelor_prime(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program implementează o funcție care calculează suma elementelor prime dintr-un șir de numere date de la tastatură.&lt;br /&gt;
&lt;br /&gt;
Funcția is_integer(value) este folosită pentru a verifica dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția este_prim(n) primește ca parametru un număr întreg și verifică dacă acesta este prim sau nu. Dacă numărul este mai mic decât 2, se consideră că nu este prim. În caz contrar, se verifică dacă numărul este divizibil cu orice număr întreg din intervalul [2, sqrt(n)]. Dacă numărul este divizibil cu un astfel de număr, se consideră că nu este prim, altfel se consideră că este prim.&lt;br /&gt;
&lt;br /&gt;
Funcția verificare_vector(vector) verifică dacă vectorul are cel mult 100 elemente și dacă fiecare element este un număr întreg între 1 și 999999. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția suma_elementelor_prime(sir) primește ca parametru un șir de numere și calculează suma elementelor prime din acest șir. Pentru fiecare număr din șir, se verifică dacă acesta este prim folosind funcția este_prim(n). Dacă este prim, numărul este adunat la suma. Dacă nu există niciun număr prim în șir, se afișează un mesaj corespunzător și se oprește programul. În caz contrar, se afișează suma elementelor prime din șir.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea if name == &#039;main&#039;: verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile verificare_vector(elem) și suma_elementelor_prime(lst_int) pentru a verifica datele introduse și calcula suma elementelor prime.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0187_-_CifFrecv&amp;diff=3675</id>
		<title>0187 - CifFrecv</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0187_-_CifFrecv&amp;diff=3675"/>
		<updated>2023-04-15T12:42:06Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/187/ciffrecv 0187 - CifFrecv]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Să se scrie un program care citeşte cel mult &amp;lt;code&amp;gt;1.000.000&amp;lt;/code&amp;gt; de numere naturale din intervalul închis &amp;lt;code&amp;gt;[0,9]&amp;lt;/code&amp;gt; şi determină cel mai mare număr prim citit şi numărul său de apariții.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură cel mult &amp;lt;code&amp;gt;1.000.000&amp;lt;/code&amp;gt; numere naturale din intervalul închis &amp;lt;code&amp;gt;[0,9]&amp;lt;/code&amp;gt;, separate prin spaţii.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa două numere naturale &amp;lt;code&amp;gt;MAX&amp;lt;/code&amp;gt; şi &amp;lt;code&amp;gt;NR_AP.&amp;lt;/code&amp;gt; În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 1000000&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 0 și 9&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim o cifra separate prin spatiu:1 2 3 4 5 6 7 8 9&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:7 1&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim o cifra separate prin spatiu:12 1 2 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim o cifra separate prin spatiu:1 2 3 3 3 6&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:3 3&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def este_prim(n):&lt;br /&gt;
    if n &amp;lt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    for i in range(2, int(n ** 0.5) + 1):&lt;br /&gt;
        if n % i == 0:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(vector):&lt;br /&gt;
    n = 0&lt;br /&gt;
    for i in vector:&lt;br /&gt;
        if is_integer(i):&lt;br /&gt;
            if 0 &amp;lt; int(i) &amp;lt; 10:&lt;br /&gt;
                n += 1&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    if n &amp;gt; 1000000 or n &amp;lt; 0:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def cel_mai_mare_prim_si_aparitii(lst):&lt;br /&gt;
    aparitii = {}&lt;br /&gt;
    cel_mai_mare_prim = None&lt;br /&gt;
    for nr in lst:&lt;br /&gt;
        if este_prim(nr):&lt;br /&gt;
            if nr in aparitii:&lt;br /&gt;
                aparitii[nr] += 1&lt;br /&gt;
            else:&lt;br /&gt;
                aparitii[nr] = 1&lt;br /&gt;
            if cel_mai_mare_prim is None or nr &amp;gt; cel_mai_mare_prim:&lt;br /&gt;
                cel_mai_mare_prim = nr&lt;br /&gt;
    if cel_mai_mare_prim is None:&lt;br /&gt;
        print(&amp;quot;Nu s-au găsit numere prime în listă.&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    max_aparitii = max(aparitii.values())&lt;br /&gt;
    for nr, aparitie in aparitii.items():&lt;br /&gt;
        if aparitie == max_aparitii and nr &amp;gt; cel_mai_mare_prim:&lt;br /&gt;
            cel_mai_mare_prim = nr&lt;br /&gt;
    print(cel_mai_mare_prim, max_aparitii)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti numere de maxim o cifra separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    cel_mai_mare_prim_si_aparitii(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program citeste de la tastatură o listă de numere naturale cu o singură cifră, cu o limită maximă de 1.000.000 de numere, iar apoi determină cel mai mare număr prim din listă și numărul său de apariții în listă.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă o valoare dată este un număr întreg.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;este_prim(n)&amp;lt;/code&amp;gt; primește un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă acesta este un număr prim, &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; altfel. Funcția verifică numerele în intervalul &amp;lt;code&amp;gt;[2, sqrt(n)]&amp;lt;/code&amp;gt;, pentru a optimiza timpul de execuție.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(vector)&amp;lt;/code&amp;gt; primește o listă și verifică dacă toate elementele acesteia sunt numere întregi cu o singură cifră, iar numărul total de elemente nu depășește 1.000.000.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;cel_mai_mare_prim_si_aparitii(lst)&amp;lt;/code&amp;gt; primește lista de numere și determină cel mai mare număr prim din listă și numărul său de apariții. Verifică fiecare număr dacă este prim și dacă da, îl adaugă într-un dicționar, cu numărul de apariții. Dacă un număr prim are mai multe apariții decât numărul cel mai mare prim de până acum, atunci acesta devine noul număr cel mai mare prim.&lt;br /&gt;
&lt;br /&gt;
Programul afișează numărul cel mai mare prim și numărul său de apariții în listă. Dacă nu există numere prime în listă, se afișează un mesaj corespunzător.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0525_-_Numere1&amp;diff=3674</id>
		<title>0525 - Numere1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0525_-_Numere1&amp;diff=3674"/>
		<updated>2023-04-15T12:29:27Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/525/numere1 0525 - Numere1]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale. Determinaţi cele mai mari două numere cu trei cifre care nu apar printre numerele date.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa cele mai mari două numere cu trei cifre care nu apar printre numerele date.  În cazul în care nu există astfel 2 numere, se afișează &amp;quot;Nu există!&amp;quot;. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 500.000&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:999 998 996&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Cele mai mari 2 numere de 3 cifre care nu apar în listă: [997, 995]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 123451234&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 500000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def cele_mai_mari_numere(lst):&lt;br /&gt;
    numere = [int(i) for i in range(100, 1000)]&lt;br /&gt;
    for elem in lst:&lt;br /&gt;
        if elem in numere:&lt;br /&gt;
            numere.remove(elem)&lt;br /&gt;
    numere.sort(reverse=True)&lt;br /&gt;
    lista_noua = []&lt;br /&gt;
    print(&amp;quot;Cele mai mari 2 numere de 3 cifre care nu apar în listă:&amp;quot;)&lt;br /&gt;
    for numar in numere[:2]:&lt;br /&gt;
        lista_noua.append(numar)&lt;br /&gt;
    print(lista_noua)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    cele_mai_mari_numere(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest cod este un exemplu de program care validează datele introduse de utilizator și afișează cele mai mari două numere de trei cifre care nu apar într-o listă dată.&lt;br /&gt;
&lt;br /&gt;
Mai exact, programul începe prin definirea unei funcții numite &amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt;, care verifică dacă un anumit string reprezintă un număr întreg.&lt;br /&gt;
&lt;br /&gt;
Apoi, există o funcție numită &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt;, care primește ca parametru un număr și verifică dacă este un număr întreg cuprins între 1 și 500000.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt; primește două parametri, un număr și un vector de numere sub formă de string-uri. Această funcție verifică dacă numărul de elemente din vector este egal cu numărul dat ca parametru și dacă fiecare element al vectorului este un număr întreg mai mic sau egal cu 1000000000.&lt;br /&gt;
&lt;br /&gt;
Următoarea funcție, numită &amp;lt;code&amp;gt;cele_mai_mari_numere&amp;lt;/code&amp;gt;, primește un vector de numere sub formă de int-uri și afișează cele mai mari două numere de trei cifre care nu apar în listă. Mai exact, funcția creează o listă cu toate numerele de trei cifre posibile și apoi elimină toate elementele din această listă care apar în vectorul dat. Cele mai mari două elemente rămase sunt apoi adăugate într-o altă listă și afișate la sfârșit.&lt;br /&gt;
&lt;br /&gt;
În funcția principală, utilizatorul este întâi întrebat să introducă numărul de elemente pe care le va introduce, iar apoi vectorul de elemente. Datele introduse sunt verificate prin apelarea funcțiilor menționate mai sus și, dacă sunt valide, este afișat mesajul &amp;quot;Datele introduse sunt corecte!&amp;quot;. Ulterior, cele mai mari două numere de trei cifre care nu apar în listă sunt afișate apelând funcția &amp;lt;code&amp;gt;cele_mai_mari_numere&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1005_-_Numere8&amp;diff=3673</id>
		<title>1005 - Numere8</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1005_-_Numere8&amp;diff=3673"/>
		<updated>2023-04-15T12:13:13Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/1005/numere8 1005 - Numere8]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă o listă cu numere naturale. Să se determine numerele naturale nenule cu cel mult patru cifre care nu apar în lista dată.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură numere întregi reprezentând elementele șirului, cu cel mult patru cifre, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa în ordine descrescătoare, numerele nenule cu cel mult patru cifre care nu se află în listă, separate prin exact un spațiu. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim 4 cire separate prin spatiu:9999 9998 9997&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Numerele cu cel mult 4 cifre, în ordine descrescătoare, cu excepția celor prezente în listă:&lt;br /&gt;
:[9996, 9995, 9994, 9993, 9992, 9991, ... , 184, 183, 182, 181, ..., 2, 1, 0]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de maxim 4 cire separate prin spatiu:1234 12345 23&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(vector):&lt;br /&gt;
    for i in vector:&lt;br /&gt;
        if is_integer(i):&lt;br /&gt;
            if int(i) &amp;lt;= 10000:&lt;br /&gt;
                continue&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def afisare_numere(lst):&lt;br /&gt;
    numere = [int(i) for i in range(10000)]&lt;br /&gt;
    for elem in lst:&lt;br /&gt;
        if elem in numere:&lt;br /&gt;
            numere.remove(elem)&lt;br /&gt;
&lt;br /&gt;
    numere.sort(reverse=True)&lt;br /&gt;
    lista_numere = []&lt;br /&gt;
    print(&amp;quot;Numerele cu cel mult 4 cifre, în ordine descrescătoare, cu excepția celor prezente în listă:&amp;quot;)&lt;br /&gt;
    for numar in numere:&lt;br /&gt;
        lista_numere.append(numar)&lt;br /&gt;
    print(lista_numere)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    elem = input(&amp;quot;Introduceti numere de maxim 4 cire separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    afisare_numere(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește o listă de numere întregi de maxim 4 cifre de la utilizator și afișează toate numerele întregi de maxim 4 cifre, în ordine descrescătoare, care nu sunt prezente în lista dată.&lt;br /&gt;
Explicația programului este următoarea:&lt;br /&gt;
&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;is_integer()&amp;lt;/code&amp;gt; primește un șir de caractere și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă toate caracterele din șir sunt cifre, altfel returnează &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;verificare_vector()&amp;lt;/code&amp;gt; primește o listă de numere sub formă de string-uri și verifică dacă toate elementele listei sunt numere întregi cu maxim 4 cifre. Dacă toate elementele sunt valide, funcția se termină normal; în caz contrar, afișează un mesaj de eroare și oprește programul prin apelul funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;afisare_numere()&amp;lt;/code&amp;gt; primește o listă de numere întregi și creează o listă cu toate numerele întregi de maxim 4 cifre utilizând expresia &amp;lt;code&amp;gt;range(10000)&amp;lt;/code&amp;gt;. Apoi, funcția elimină numerele prezente în lista dată și sortează lista rezultată în ordine descrescătoare. Lista sortată este afișată folosind o buclă &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0267_-_Unice&amp;diff=3672</id>
		<title>0267 - Unice</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0267_-_Unice&amp;diff=3672"/>
		<updated>2023-04-15T11:52:56Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/267/unice Unice]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere numere naturale cu cel mult două cifre fiecare. Să se determine acele numere care apar o singură dată.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Se va introduce valoarea &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; urmată de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale cu cel mult două cifre fiecare, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, după care va afișa în ordine crescătoare, valorile care apar o singură dată, separate printr-un spaţiu. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100.000&lt;br /&gt;
*valorile elementelor șirului vor fi mai mici decât 100&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 numere de maxim 2 cire separate prin spatiu:2 3 12 1 3 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Elementele care apar o singura data in sir sunt:  [1, 12]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 4&lt;br /&gt;
:Introduceti 4 numere de maxim 2 cire separate prin spatiu:1 234 1 12&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 99:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def elemente_unice_crescator(sir):&lt;br /&gt;
    aparitii = {}&lt;br /&gt;
    elemente_unice = []&lt;br /&gt;
    for element in sir:&lt;br /&gt;
        if element in aparitii:&lt;br /&gt;
            aparitii[element] += 1&lt;br /&gt;
        else:&lt;br /&gt;
            aparitii[element] = 1&lt;br /&gt;
    for element, aparitie in aparitii.items():&lt;br /&gt;
        if aparitie == 1:&lt;br /&gt;
            elemente_unice.append(element)&lt;br /&gt;
    elemente_unice.sort()&lt;br /&gt;
    print(&amp;quot;Elementele care apar o singura data in sir sunt:&amp;quot;, elemente_unice)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} numere de maxim 2 cire separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    elemente_unice_crescator(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește de la utilizator o listă de numere și afișează elementele care apar o singură dată în listă, ordonate în ordine crescătoare. Iată cum funcționează acest program:&lt;br /&gt;
&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; este folosită pentru a verifica dacă un element este un număr întreg. Funcția returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă elementul este un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; primește numărul de elemente din listă și verifică dacă acesta este un număr întreg cuprins între 1 și 100000. Dacă numărul este valid, funcția returnează valoarea. În caz contrar, afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și iese din program.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; primește numărul de elemente și vectorul de elemente și verifică dacă vectorul are exact &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă fiecare element este un număr întreg cu cel mult două cifre. Dacă vectorul este valid, funcția afișează &amp;quot;Datele introduse sunt corecte!&amp;quot;. În caz contrar, afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și iese din program.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;elemente_unice_crescator(sir)&amp;lt;/code&amp;gt; primește lista dată ca argument și calculează numărul de apariții al fiecărui element din listă. După aceea, adaugă într-o listă separată elementele care apar o singură dată în listă și le sortează în ordine crescătoare. Lista cu elemente unice este afișată la final.&lt;br /&gt;
* În funcția &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, numărul de elemente și vectorul de elemente sunt citite de la utilizator și sunt verificate utilizând funcțiile &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt;. Dacă lista este validă, funcția &amp;lt;code&amp;gt;elemente_unice_crescator&amp;lt;/code&amp;gt; este apelată și afișează elementele care apar o singură dată în listă, ordonate în ordine crescătoare.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0264_-_MaxCif&amp;diff=3671</id>
		<title>0264 - MaxCif</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0264_-_MaxCif&amp;diff=3671"/>
		<updated>2023-04-15T11:28:29Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/264/maxcif 0264 - MaxCif]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau mai multe numere naturale formate din exact o cifră. Determinaţi cifrele cu număr maxim de apariţii.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Se vor introduce cel mult &amp;lt;code&amp;gt;100.000&amp;lt;/code&amp;gt; de numere naturale formate dintr-o singură cifră separate prin spaţii.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa cifrele cu număr maxim de apariții. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;=  n &amp;lt;= 100.000&lt;br /&gt;
*valorile șirului vor fi cuprinse între 1 și 9&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de o singura cifra separate prin spatiu:1 1 2 21 2 11&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de o singura cifra separate prin spatiu:5 6 4 1 2 5 7 2 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Cifrele cu numar maxim de aparitii sunt:  [&#039;5&#039;, &#039;2&#039;]&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numere de o singura cifra separate prin spatiu:1 2 3 2 6 4 2 5 3 2 3 3 2 3 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Cifrele cu numar maxim de aparitii sunt:  [&#039;2&#039;, &#039;3&#039;]&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(vector):&lt;br /&gt;
    n = 0&lt;br /&gt;
    for i in vector:&lt;br /&gt;
        if is_integer(i) and int(i) &amp;lt; 10:&lt;br /&gt;
            n += 1&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    if n &amp;gt; 100000:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def cifre_max_aparitii(lst):&lt;br /&gt;
    aparitii = {}&lt;br /&gt;
    for cifra in lst:&lt;br /&gt;
        if isinstance(cifra, int):&lt;br /&gt;
            cifra = str(cifra)&lt;br /&gt;
            if cifra in aparitii:&lt;br /&gt;
                aparitii[cifra] += 1&lt;br /&gt;
            else:&lt;br /&gt;
                aparitii[cifra] = 1&lt;br /&gt;
    max_aparitii = max(aparitii.values())&lt;br /&gt;
    cifre_max_aparitii = [cifra for cifra, aparitie in aparitii.items() if aparitie == max_aparitii]&lt;br /&gt;
    print(&amp;quot;Cifrele cu numar maxim de aparitii sunt: &amp;quot;, cifre_max_aparitii)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti numere de o singura cifra separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    cifre_max_aparitii(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Acest program primește de la utilizator o listă de numere cu o singură cifră și afișează cifrele cu numărul maxim de apariții din listă.&lt;br /&gt;
Iată cum funcționează acest program:&lt;br /&gt;
&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; este folosită pentru a verifica dacă un element este un număr întreg. Funcția returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă elementul este un număr întreg și &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; în caz contrar.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;verificare_vector(vector)&amp;lt;/code&amp;gt; verifică dacă elementele din lista dată sunt numere întregi cu o singură cifră și are cel mult 100000 de astfel de elemente. Dacă elementele din listă sunt valide, funcția afișează &amp;quot;Datele introduse sunt corecte!&amp;quot;. În caz contrar, afișează &amp;quot;Datele introduse sunt incorecte!&amp;quot; și iese din program.&lt;br /&gt;
* Funcția &amp;lt;code&amp;gt;cifre_max_aparitii(lst)&amp;lt;/code&amp;gt; primește lista dată ca argument și numără numărul de apariții al fiecărei cifre din listă. După aceea, determină numărul maxim de apariții și afișează cifrele care au numărul maxim de apariții.&lt;br /&gt;
* În funcția &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, lista de elemente este citită de la utilizator și este verificată utilizând funcția &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt;. Dacă lista este validă, funcția &amp;lt;code&amp;gt;cifre_max_aparitii&amp;lt;/code&amp;gt; este apelată și afișează cifrele cu numărul maxim de apariții.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0244_-_CifreOrd&amp;diff=3670</id>
		<title>0244 - CifreOrd</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0244_-_CifreOrd&amp;diff=3670"/>
		<updated>2023-04-15T11:07:32Z</updated>

		<summary type="html">&lt;p&gt;Miriam: tot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/244/cifreord CifreOrd]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; cifre zecimale. Să se afişeze aceste cifre în ordine crescătoare.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură o valoare &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, semnificând numerele de elemente introduse, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma ordonării crescătoare a elementelor. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 7&lt;br /&gt;
:Introduceti 7 elem separate prin spatiu:1212 1 2 12 1 2 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [1, 1, 2, 2, 2, 12, 1212]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 10&lt;br /&gt;
:Introduceti 10 elem separate prin spatiu:12 31 3 1 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
    exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                continue&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def ordonare_sir(lst):&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;,sorted(lst))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    n = verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    lst_int = list(map(int, elem))&lt;br /&gt;
    ordonare_sir(lst_int)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Programul dat primește de la utilizator un număr de elemente și un vector de elemente sub formă de șiruri de caractere (string-uri), verifică validitatea datelor, le transformă în numere întregi și ordonează vectorul în ordine crescătoare, apoi afișează vectorul ordonat.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt; primește un argument de tip șir de caractere și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă șirul reprezintă un număr întreg, altfel returnează &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;. Această funcție se folosește pentru a verifica dacă datele introduse de utilizator reprezintă un număr întreg valid.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; primește un argument de tip șir de caractere care reprezintă numărul de elemente din vectorul de intrare. Funcția verifică dacă șirul reprezintă un număr întreg valid între 1 și 1000 și returnează valoarea convertită la întreg. Dacă șirul nu reprezintă un număr întreg valid, funcția afișează un mesaj de eroare și oprește programul prin apelarea funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt; primește două argumente: numărul de elemente din vectorul de intrare și vectorul de intrare în sine. Funcția verifică dacă numărul de elemente coincide cu lungimea vectorului și dacă fiecare element din vector reprezintă un număr întreg valid. Dacă datele de intrare nu sunt valide, funcția afișează un mesaj de eroare și oprește programul prin apelarea funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;ordonare_sir&amp;lt;/code&amp;gt; primește un vector ca argument și îl ordonează în ordine crescătoare folosind metoda &amp;lt;code&amp;gt;sorted()&amp;lt;/code&amp;gt; din Python. Funcția afișează noul vector ordonat.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;__name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul citește numărul de elemente și vectorul de intrare de la utilizator, verifică validitatea datelor cu ajutorul funcțiilor &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt;, apoi apelează funcția &amp;lt;code&amp;gt;ordonare_sir&amp;lt;/code&amp;gt; pentru a ordona vectorul și a-l afișa.&lt;br /&gt;
&lt;br /&gt;
În plus, în interiorul secțiunii &amp;lt;code&amp;gt;__name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul transformă vectorul de intrare din șiruri de caractere în numere întregi utilizând funcția &amp;lt;code&amp;gt;map()&amp;lt;/code&amp;gt; și apoi aplică funcția &amp;lt;code&amp;gt;ordonare_sir&amp;lt;/code&amp;gt; pentru a ordona vectorul convertit în numere întregi.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2734_-_Se_cite%C8%99te_un_%C8%99ir_cu_n_elemente,_numere_%C3%AEntregi._S%C4%83_se_%C8%99tearg%C4%83_elementele_care_se_repet%C4%83,_p%C4%83str%C3%A2ndu-se_doar_primul_de_la_st%C3%A2nga_la_dreapta.&amp;diff=3669</id>
		<title>2734 - Se citește un șir cu n elemente, numere întregi. Să se șteargă elementele care se repetă, păstrându-se doar primul de la stânga la dreapta.</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2734_-_Se_cite%C8%99te_un_%C8%99ir_cu_n_elemente,_numere_%C3%AEntregi._S%C4%83_se_%C8%99tearg%C4%83_elementele_care_se_repet%C4%83,_p%C4%83str%C3%A2ndu-se_doar_primul_de_la_st%C3%A2nga_la_dreapta.&amp;diff=3669"/>
		<updated>2023-04-15T10:52:10Z</updated>

		<summary type="html">&lt;p&gt;Miriam: toate problema&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/2734/elimrep ElimRep]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se citește un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente, numere întregi. Să se șteargă elementele care se repetă, păstrându-se doar primul de la stânga la dreapta.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma eliminării elementelor care se repetă, în afara primului de la stânga la dreapta. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;=  n &amp;lt;= 1000&lt;br /&gt;
*valorile elementelor șirului vor fi &amp;lt; 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 7&lt;br /&gt;
:Introduceti 7 elem separate prin spatiu:1 1 1 3 4 7 7&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [&#039;1&#039;, &#039;3&#039;, &#039;4&#039;, &#039;7&#039;]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 1100&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 elem separate prin spatiu:1 a ds 12 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
    exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_duplicate(lst):&lt;br /&gt;
    elemnte_diferite = {}&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for elem in lst:&lt;br /&gt;
        if elem not in elemnte_diferite:&lt;br /&gt;
            elemnte_diferite[elem] = True&lt;br /&gt;
            sir_nou.append(elem)&lt;br /&gt;
    print(sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    n = verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    eliminare_duplicate(elem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Explicație rezolvare==&lt;br /&gt;
Codul dat conține o funcție (&amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt;) și trei funcții de verificare a datelor (&amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eliminare_duplicate&amp;lt;/code&amp;gt;), urmate de o secțiune de cod care citește datele de intrare și le trimite funcțiilor de verificare și de eliminare a duplicatelor.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer&amp;lt;/code&amp;gt; primește un argument de tip șir de caractere și returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă șirul reprezintă un număr întreg, altfel returnează &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;. Această funcție se folosește pentru a verifica dacă datele introduse de utilizator reprezintă un număr întreg valid.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; primește un argument de tip șir de caractere care reprezintă numărul de elemente din vectorul de intrare. Funcția verifică dacă șirul reprezintă un număr întreg valid între 1 și 1000 și returnează valoarea convertită la întreg. Dacă șirul nu reprezintă un număr întreg valid, funcția afișează un mesaj de eroare și oprește programul prin apelarea funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt; primește două argumente: numărul de elemente din vectorul de intrare și vectorul de intrare în sine. Funcția verifică dacă numărul de elemente coincide cu lungimea vectorului și dacă fiecare element din vector reprezintă un număr întreg valid mai mic sau egal cu 1000000000. Dacă datele de intrare nu sunt valide, funcția afișează un mesaj de eroare și oprește programul prin apelarea funcției &amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;eliminare_duplicate&amp;lt;/code&amp;gt; primește un vector ca argument și elimină toate duplicatle din vector, păstrând doar prima apariție a fiecărui element. Funcția utilizează un dicționar pentru a verifica dacă un element a mai fost întâlnit anterior și adaugă elementele unice într-un nou vector. Funcția afișează noul vector.&lt;br /&gt;
&lt;br /&gt;
În secțiunea &amp;lt;code&amp;gt;__name__ == &#039;__main__&#039;&amp;lt;/code&amp;gt;, programul citește numărul de elemente și vectorul de intrare de la utilizator, verifică validitatea datelor cu ajutorul funcțiilor &amp;lt;code&amp;gt;verificare_nr_elemente&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector&amp;lt;/code&amp;gt;, apoi apelează funcția &amp;lt;code&amp;gt;eliminare_duplicate&amp;lt;/code&amp;gt; pentru a elimina duplicatle și a afișa vectorul fără duplicat.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0596_-_Numere2&amp;diff=3668</id>
		<title>0596 - Numere2</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0596_-_Numere2&amp;diff=3668"/>
		<updated>2023-04-15T10:32:05Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/596/numere2 Numere2]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Gigel a găsit un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale. În fiecare zi Gigel parcurge șirul și când găsește o pereche de elemente consecutive egale o elimină din șir și se oprește. Determinați în câte zile va elimina Gigel elemente din șir și care sunt valorile din șir după eliminări.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură cel mult 25.000 de numere naturale.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa în cât timp a terminat Gigel de eliminat elemente din șir și cum arată șirul în urma eliminării elementelor consecutive egale. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*numerele citite vor fi mai mici decât 100&lt;br /&gt;
*în șir sunt cel puțin un număr și cel mult 20.000 de numere naturale&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 8&lt;br /&gt;
:Introduceti 8 elem separate prin spatiu:1 2 3 3 2 2 3 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Gigel a terminat de eliminat elementele dupa 4 zile.&lt;br /&gt;
:Valorile din sirul initial dupa eliminari sunt: [1, 2]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:1 130 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 8&lt;br /&gt;
:Introduceti 8 elem separate prin spatiu:1 1 2 3 44 44 4 44&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Gigel a terminat de eliminat elementele dupa 3 zile.&lt;br /&gt;
:Valorile din sirul initial dupa eliminari sunt: [2, 3, 4, 44]&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 20000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 100:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def eliminare_duplicate(lista):&lt;br /&gt;
    noua_lista = [int(i) for i in lista] &lt;br /&gt;
    eliminari = 0&lt;br /&gt;
    while True:&lt;br /&gt;
        i = 0&lt;br /&gt;
        eliminat = False&lt;br /&gt;
        while i &amp;lt; len(noua_lista) - 1:&lt;br /&gt;
            if noua_lista[i] == noua_lista[i + 1]:&lt;br /&gt;
                del noua_lista[i:i + 2]&lt;br /&gt;
                eliminari += 1&lt;br /&gt;
                eliminat = True&lt;br /&gt;
            else:&lt;br /&gt;
                i += 1&lt;br /&gt;
        if not eliminat:&lt;br /&gt;
            break&lt;br /&gt;
    print(f&amp;quot;Gigel a terminat de eliminat elementele dupa {eliminari + 1} zile.&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Valorile din sirul initial dupa eliminari sunt:&amp;quot;, noua_lista)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    eliminare_duplicate(elem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest program primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spațiu. Apoi, elimină toate perechile de elemente consecutive și egale până când nu mai pot fi eliminate astfel de perechi. Programul afișează numărul de zile necesar pentru a elimina toate perechile și șirul final.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Această funcție verifică dacă valoarea dată este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este formată doar din cifre, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Această funcție validează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente din șir. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este un număr întreg între 1 și 20.000, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Această funcție verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă toate elementele sunt numere întregi mai mici sau egale cu 100. Dacă nu, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;eliminare_duplicate(lista)&amp;lt;/code&amp;gt;: Această funcție elimină toate perechile de elemente consecutive și egale din șir până când nu mai pot fi eliminate astfel de perechi. Numără numărul de zile necesar pentru a elimina toate perechile și afișează șirul final.&lt;br /&gt;
# În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul solicită numărul de elemente și șirul de numere, validează datele introduse și afișează rezultatele după eliminarea duplicatelor.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0162_-_PermCirc&amp;diff=3667</id>
		<title>0162 - PermCirc</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0162_-_PermCirc&amp;diff=3667"/>
		<updated>2023-04-15T09:27:31Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicație&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/162/permcirc PermCirc]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un vector cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente numere naturale. Determinați toate permutările circulare spre stânga ale vectorului.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale, separate prin spaţii, reprezentând elementele vectorului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se vor afișa vectorii obținuți în urma fiecărei permutări circulare. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*0 &amp;lt; n &amp;lt; 16&lt;br /&gt;
*elementele vectorului vor fi cuprinse între &amp;lt;code&amp;gt;-1000&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:1 2 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:[&#039;1&#039;, &#039;2&#039;, &#039;3&#039;]&lt;br /&gt;
:[&#039;2&#039;, &#039;3&#039;, &#039;1&#039;]&lt;br /&gt;
:[&#039;3&#039;, &#039;1&#039;, &#039;2&#039;]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 elem separate prin spatiu:6 5 4 3 2 1&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:[&#039;6&#039;, &#039;5&#039;, &#039;4&#039;, &#039;3&#039;, &#039;2&#039;, &#039;1&#039;]&lt;br /&gt;
:[&#039;5&#039;, &#039;4&#039;, &#039;3&#039;, &#039;2&#039;, &#039;1&#039;, &#039;6&#039;]&lt;br /&gt;
:[&#039;4&#039;, &#039;3&#039;, &#039;2&#039;, &#039;1&#039;, &#039;6&#039;, &#039;5&#039;]&lt;br /&gt;
:[&#039;3&#039;, &#039;2&#039;, &#039;1&#039;, &#039;6&#039;, &#039;5&#039;, &#039;4&#039;]&lt;br /&gt;
:[&#039;2&#039;, &#039;1&#039;, &#039;6&#039;, &#039;5&#039;, &#039;4&#039;, &#039;3&#039;]&lt;br /&gt;
:[&#039;1&#039;, &#039;6&#039;, &#039;5&#039;, &#039;4&#039;, &#039;3&#039;, &#039;2&#039;]&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 15:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000 &amp;lt;= int(i) &amp;lt;= 1000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def permutari_circulare(vector):&lt;br /&gt;
    for i in range(len(vector)):&lt;br /&gt;
        permutare = vector[i:] + vector[:i]&lt;br /&gt;
        print(permutare)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    permutari_circulare(elem)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest program primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spațiu. Apoi, afișează toate permutările circulare ale șirului.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Această funcție verifică dacă valoarea dată este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este formată doar din cifre, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Această funcție validează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente din șir. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este un număr întreg între 1 și 15, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Această funcție verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă toate elementele sunt numere întregi între -1.000 și 1.000. Dacă nu, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;permutari_circulare(vector)&amp;lt;/code&amp;gt;: Această funcție afișează toate permutările circulare ale șirului. Parcurge șirul și pentru fiecare index, realizează o permutare circulară și o afișează.&lt;br /&gt;
# În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul solicită numărul de elemente și șirul de numere, validează datele introduse și afișează permutările circulare ale șirului.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1365_-_Aceeasi_Paritate&amp;diff=3666</id>
		<title>1365 - Aceeasi Paritate</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1365_-_Aceeasi_Paritate&amp;diff=3666"/>
		<updated>2023-04-15T09:19:38Z</updated>

		<summary type="html">&lt;p&gt;Miriam: /* Rezolvare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/1365/aceeasi-paritate aceeasi_paritate]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării între oricare 2 numere de aceeași paritate, media lor aritmetică. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între -1.000.000.000 și 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:2 5 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nou vector este:  [2, 5, 4, 3]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: ads&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 10&lt;br /&gt;
:Introduceti 10 elem separate prin spatiu:1 2 3 2 3 2 4 5 7 9&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nou vector este:  [1, 2, 3, 2, 3, 2, 3, 4, 5, 6, 7, 8, 9]&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000000 &amp;lt;= int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adauga_medie(sir):&lt;br /&gt;
    i = 0&lt;br /&gt;
    sir_cu_int = [int(x) for x in sir]&lt;br /&gt;
    while i &amp;lt; len(sir_cu_int)-1:&lt;br /&gt;
        if sir_cu_int[i] % 2 == 0 and sir_cu_int[i+1] % 2 == 0:&lt;br /&gt;
            media = (sir_cu_int[i] + sir_cu_int[i+1]) / 2&lt;br /&gt;
            sir_cu_int.insert(i+1, int(media))&lt;br /&gt;
            i += 2&lt;br /&gt;
        elif sir_cu_int[i] % 2 != 0 and sir_cu_int[i+1] % 2 != 0:&lt;br /&gt;
            media = int((sir_cu_int[i] + sir_cu_int[i+1]) / 2)&lt;br /&gt;
            sir_cu_int.insert(i+1, int(media))&lt;br /&gt;
            i += 2&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return sir_cu_int&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Nou vector este: &amp;quot;, adauga_medie(elem))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest program primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spațiu. Apoi, pentru fiecare pereche de numere consecutive de același paritate (ambele pare sau ambele impare), adaugă media aritmetică a acestor numere între ele în șir.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Această funcție verifică dacă valoarea dată este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este formată doar din cifre, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Această funcție validează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente din șir. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este un număr întreg între 1 și 100, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Această funcție verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă toate elementele sunt numere întregi între -1.000.000.000 și 1.000.000.000. Dacă nu, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;adauga_medie(sir)&amp;lt;/code&amp;gt;: Această funcție parcurge șirul și adaugă media aritmetică între numerele consecutive de aceeași paritate. Dacă ambele numere sunt pare, media va fi întreagă. Dacă ambele numere sunt impare, media va fi întreagă și rotunjită în jos.&lt;br /&gt;
# În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul solicită numărul de elemente și șirul de numere, validează datele introduse și afișează noul șir cu mediile adăugate.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1366_-_Aceeasi_paritate_2&amp;diff=3665</id>
		<title>1366 - Aceeasi paritate 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1366_-_Aceeasi_paritate_2&amp;diff=3665"/>
		<updated>2023-04-15T09:19:06Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicatie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/1366/aceeasi-paritate-2 aceeasi_paritate_2]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică. Algoritmul se va relua în mod repetat până când nu se mai poate adăuga șirului niciun nou element.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării mediei aritmetice a oricare două numere alăturate de aceeași paritate, operație care se efectuează până când nu mai există elemente alăturate de aceeași paritate, excluzându-se cazul în care au valori egale. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*în cazul în care șirul conține două elemente consecutive egale, între acestea nu se va insera media aritmetică&lt;br /&gt;
*1 &amp;lt;=n &amp;lt;= 100&lt;br /&gt;
*1.000.000.000 &amp;lt;= elementele șirului &amp;lt;= 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 elem separate prin spatiu:2 2 4 2 6 8&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [2, 2, 3, 4, 3, 2, 3, 4, 5, 6, 7, 8]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 6&lt;br /&gt;
:Introduceti 6 elem separate prin spatiu:1 41 3 3 4 8&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [1, 6, 11, 16, 21, 26, 31, 36, 41, 22, 3, 3, 4, 5, 6, 7, 8]&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 elem separate prin spatiu:a d 12 a 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000000 &amp;lt;= int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adauga_medie(sir):&lt;br /&gt;
    i = 0&lt;br /&gt;
    while i &amp;lt; len(sir) - 1:&lt;br /&gt;
        if sir[i] % 2 == sir[i + 1] % 2 and sir[i] != sir[i + 1]:&lt;br /&gt;
            media = (sir[i] + sir[i + 1]) / 2&lt;br /&gt;
            sir.insert(i + 1, int(media))&lt;br /&gt;
            i += 2&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def exista_elem_aceeasi_paritate(sir):&lt;br /&gt;
    for elem in range(0, len(sir)-1):&lt;br /&gt;
        if sir[elem] % 2 == sir[elem+1] % 2 and sir[elem] != sir[elem+1]:&lt;br /&gt;
            return True&lt;br /&gt;
    return False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def procesare_sir(sir):&lt;br /&gt;
    while exista_elem_aceeasi_paritate(sir):&lt;br /&gt;
        adauga_medie(sir)&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, sir)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    sir = [int(x) for x in elem]&lt;br /&gt;
    procesare_sir(sir)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest program primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spațiu. Apoi, adaugă media aritmetică între numerele consecutive de aceeași paritate (ambele pare sau ambele impare) și diferite, în șir. Acest proces se repetă până când nu mai există perechi de numere consecutive de aceeași paritate și diferite.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Această funcție verifică dacă valoarea dată este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este formată doar din cifre, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Această funcție validează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente din șir. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este un număr întreg între 1 și 100, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Această funcție verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă toate elementele sunt numere întregi între -1.000.000.000 și 1.000.000.000. Dacă nu, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;adauga_medie(sir)&amp;lt;/code&amp;gt;: Această funcție parcurge șirul și adaugă media aritmetică între numerele consecutive de aceeași paritate și diferite. Dacă se adaugă o medie, indexul se incrementează cu 2.&lt;br /&gt;
# &amp;lt;code&amp;gt;exista_elem_aceeasi_paritate(sir)&amp;lt;/code&amp;gt;: Această funcție verifică dacă există perechi de numere consecutive de aceeași paritate și diferite în șir. Dacă există, returnează &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;procesare_sir(sir)&amp;lt;/code&amp;gt;: Această funcție repetă adăugarea mediilor în șir până când nu mai există perechi de numere consecutive de aceeași paritate și diferite. Apoi, afișează noul șir rezultat.&lt;br /&gt;
# În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul solicită numărul de elemente și șirul de numere, validează datele introduse, convertește elementele șirului în numere întregi și procesează șirul.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1365_-_Aceeasi_Paritate&amp;diff=3664</id>
		<title>1365 - Aceeasi Paritate</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1365_-_Aceeasi_Paritate&amp;diff=3664"/>
		<updated>2023-04-15T09:07:42Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicație&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/1365/aceeasi-paritate aceeasi_paritate]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dau &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi, separate prin spații.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării între oricare 2 numere de aceeași paritate, media lor aritmetică. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 100&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între -1.000.000.000 și 1.000.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:2 5 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nou vector este:  [2, 5, 4, 3]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: ads&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 10&lt;br /&gt;
:Introduceti 10 elem separate prin spatiu:1 2 3 2 3 2 4 5 7 9&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Nou vector este:  [1, 2, 3, 2, 3, 2, 3, 4, 5, 6, 7, 8, 9]&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 1 &amp;lt;= int(n) &amp;lt;= 100:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;1Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000000 &amp;lt;= int(i) &amp;lt;= 1000000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;2Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;3Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adauga_medie(sir):&lt;br /&gt;
    i = 0&lt;br /&gt;
    sir_cu_int = [int(x) for x in sir]&lt;br /&gt;
    while i &amp;lt; len(sir_cu_int)-1:&lt;br /&gt;
        if sir_cu_int[i] % 2 == 0 and sir_cu_int[i+1] % 2 == 0:&lt;br /&gt;
            media = (sir_cu_int[i] + sir_cu_int[i+1]) / 2&lt;br /&gt;
            sir_cu_int.insert(i+1, int(media))&lt;br /&gt;
            i += 2&lt;br /&gt;
        elif sir_cu_int[i] % 2 != 0 and sir_cu_int[i+1] % 2 != 0:&lt;br /&gt;
            media = int((sir_cu_int[i] + sir_cu_int[i+1]) / 2)&lt;br /&gt;
            sir_cu_int.insert(i+1, int(media))&lt;br /&gt;
            i += 2&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return sir_cu_int&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Nou vector este: &amp;quot;, adauga_medie(elem))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest program primește un număr întreg &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și un șir de &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spațiu. Apoi, pentru fiecare pereche de numere consecutive de același paritate (ambele pare sau ambele impare), adaugă media aritmetică a acestor numere între ele în șir.&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt;: Această funcție verifică dacă valoarea dată este un număr întreg, returnând &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; dacă valoarea este formată doar din cifre, altfel &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;: Această funcție validează &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, numărul de elemente din șir. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este un număr întreg între 1 și 100, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt;: Această funcție verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă toate elementele sunt numere întregi între -1.000.000.000 și 1.000.000.000. Dacă nu, programul va afișa un mesaj de eroare și se va încheia.&lt;br /&gt;
# &amp;lt;code&amp;gt;adauga_medie(sir)&amp;lt;/code&amp;gt;: Această funcție parcurge șirul și adaugă media aritmetică între numerele consecutive de aceeași paritate. Dacă ambele numere sunt pare, media va fi întreagă. Dacă ambele numere sunt impare, media va fi întreagă și rotunjită în jos.&lt;br /&gt;
# În secțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt;, programul solicită numărul de elemente și șirul de numere, validează datele introduse și afișează noul șir cu mediile adăugate.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0160_-_S%C4%83_se_insereze_%C3%AEntr-un_%C8%99ir_%C3%AEnaintea_fiec%C4%83rui_element_p%C4%83trat_perfect_r%C4%83d%C4%83cina_sa_p%C4%83trat%C4%83.&amp;diff=3663</id>
		<title>0160 - Să se insereze într-un șir înaintea fiecărui element pătrat perfect rădăcina sa pătrată.</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0160_-_S%C4%83_se_insereze_%C3%AEntr-un_%C8%99ir_%C3%AEnaintea_fiec%C4%83rui_element_p%C4%83trat_perfect_r%C4%83d%C4%83cina_sa_p%C4%83trat%C4%83.&amp;diff=3663"/>
		<updated>2023-04-15T08:55:32Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicatie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/160/inserareinainte InserareInainte]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente naturale. Să se insereze în șir înaintea fiecărui element pătrat perfect rădăcina sa pătrată.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării înainte fiecărui pătrat perfect, rădăcina sa pătrată. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= n &amp;lt;= 25&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între 0 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 4&lt;br /&gt;
:Introduceti 4 elem separate prin spatiu:1 2 3 4&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [1, 1, 2, 3, 2, 4]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti 3 elem separate prin spatiu:1 245 2 4 31&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 5&lt;br /&gt;
:Introduceti 5 elem separate prin spatiu:1 sfd 2 12 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt;= int(n) &amp;lt;= 25:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def este_patrat_perfect(nr):&lt;br /&gt;
    if int((int(nr)) ** 0.5) ** 2 == int(nr):&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adaugare_element(vector):&lt;br /&gt;
    vector_nou = []&lt;br /&gt;
    for nr in vector:&lt;br /&gt;
        if este_patrat_perfect(nr):&lt;br /&gt;
            vector_nou.append(int((int(nr) ** 0.5)))&lt;br /&gt;
        vector_nou.append(int(nr))&lt;br /&gt;
    return vector_nou&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, adaugare_element(elem))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest cod implementează o soluție pentru problema adăugării unui element într-un vector, în funcție de paritatea elementelor existente. Utilizatorul introduce un număr de elemente și apoi elementele vectorului. Se verifică dacă datele introduse sunt corecte și, în caz afirmativ, se adaugă elemente în vector conform regulilor și se afișează noul vector.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 25 și returnează acest număr. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă fiecare element este un număr întreg mai mic sau egal cu 1.000.000. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;este_par(nr)&amp;lt;/code&amp;gt; verifică dacă un număr &amp;lt;code&amp;gt;nr&amp;lt;/code&amp;gt; este par și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;adaugare_element(vector)&amp;lt;/code&amp;gt; primește un vector și adaugă un element după fiecare număr par din vector, care este dublul numărului par. Rezultatul este returnat sub formă de listă.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt; verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector(n, elem)&amp;lt;/code&amp;gt; pentru a verifica datele introduse și apoi apelează funcția &amp;lt;code&amp;gt;adaugare_element(elem)&amp;lt;/code&amp;gt; pentru a modifica vectorul. Se afișează și un mesaj care confirmă că datele introduse sunt corecte înainte de a afișa noul vector.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0159_-_S%C4%83_se_insereze_%C3%AEntr-un_%C8%99ir_dup%C4%83_fiecare_element_par_dublul_s%C4%83u.&amp;diff=3662</id>
		<title>0159 - Să se insereze într-un șir după fiecare element par dublul său.</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0159_-_S%C4%83_se_insereze_%C3%AEntr-un_%C8%99ir_dup%C4%83_fiecare_element_par_dublul_s%C4%83u.&amp;diff=3662"/>
		<updated>2023-04-15T08:47:51Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/159/inseraredupa InserareDupa]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Să se insereze în șir după fiecare element par dublul său.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere naturale reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării după fiecare element par a dublului său. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*în șir sunt cel mult 25 de numere&lt;br /&gt;
*elementele șirului vor fi cuprinse între 0 si 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 10&lt;br /&gt;
:Introduceti 10 elem separate prin spatiu:1 12 4 1 12 3 4 1 2 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [&#039;1&#039;, &#039;12&#039;, 24, &#039;4&#039;, 8, &#039;1&#039;, &#039;12&#039;, 24, &#039;3&#039;, &#039;4&#039;, 8, &#039;1&#039;, &#039;2&#039;, 4, &#039;3&#039;]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 7&lt;br /&gt;
:Introduceti 7 elem separate prin spatiu:1 3 4 1a d a 2&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt;= int(n) &amp;lt;= 25:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def este_par(nr):&lt;br /&gt;
    if int(nr) % 2 == 0:&lt;br /&gt;
        return True&lt;br /&gt;
    else:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adaugare_element(vector):&lt;br /&gt;
    vector_nou = []&lt;br /&gt;
    for nr in vector:&lt;br /&gt;
        vector_nou.append(nr)&lt;br /&gt;
        if este_par(nr):&lt;br /&gt;
            vector_nou.append(int(nr)*2)&lt;br /&gt;
    return vector_nou&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, adaugare_element(elem))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest cod implementează o soluție pentru problema adăugării unui element într-un vector, în funcție de paritatea elementelor existente. Utilizatorul introduce un număr de elemente și apoi elementele vectorului. Se verifică dacă datele introduse sunt corecte și, în caz afirmativ, se adaugă elemente în vector conform regulilor și se afișează noul vector.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 25 și returnează acest număr. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă fiecare element este un număr întreg mai mic sau egal cu 1.000.000. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;este_par(nr)&amp;lt;/code&amp;gt; verifică dacă un număr &amp;lt;code&amp;gt;nr&amp;lt;/code&amp;gt; este par și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;adaugare_element(vector)&amp;lt;/code&amp;gt; primește un vector și adaugă un element după fiecare număr par din vector, care este dublul numărului par. Rezultatul este returnat sub formă de listă.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt; verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector(n, elem)&amp;lt;/code&amp;gt; pentru a verifica datele introduse și apoi apelează funcția &amp;lt;code&amp;gt;adaugare_element(elem)&amp;lt;/code&amp;gt; pentru a modifica vectorul. Se afișează și un mesaj care confirmă că datele introduse sunt corecte înainte de a afișa noul vector.&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0158_-_S%C4%83_se_insereze_pe_o_pozi%C8%9Bie_dat%C4%83_%C3%AEntr-un_%C8%99ir_o_valoare_precizat%C4%83.&amp;diff=3661</id>
		<title>0158 - Să se insereze pe o poziție dată într-un șir o valoare precizată.</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0158_-_S%C4%83_se_insereze_pe_o_pozi%C8%9Bie_dat%C4%83_%C3%AEntr-un_%C8%99ir_o_valoare_precizat%C4%83.&amp;diff=3661"/>
		<updated>2023-04-15T08:30:30Z</updated>

		<summary type="html">&lt;p&gt;Miriam: explicație&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Sursa: [https://www.pbinfo.ro/probleme/158/inserare inserare]&lt;br /&gt;
----&lt;br /&gt;
==Cerinţă==&lt;br /&gt;
Se dă un șir cu &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente întregi, valoare întreagă &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt; și un număr &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;. Să se insereze pe poziția &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; în șir valoarea &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură trei valori &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;X&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;, cu semnificația precizată, apoi &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi reprezentând elementele șirului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele introduse sunt corecte!&amp;quot;, apoi se va afișa noul vector, obținut în urma adăugării elementului x pe poziția p. În cazul în care datele nu respectă restricțiile, se va afișa mesajul &amp;quot;Datele introduse nu sunt corecte!&amp;quot;.&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
*1 &amp;lt;= p &amp;lt;= n &amp;lt;= 25&lt;br /&gt;
*valorile elementelor șirului vor fi cuprinse între -1.000.000 și 1.000.000&lt;br /&gt;
==Exemple==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 2&lt;br /&gt;
:Introduceti valoarea x pentru a fi adaugata: 1234&lt;br /&gt;
:Introduceti pozitia p pe care se va adauga: 1&lt;br /&gt;
:Introduceti 2 elem separate prin spatiu:1 3&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt corecte!&lt;br /&gt;
:Noul vector este:  [1234, &#039;1&#039;, &#039;3&#039;]&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 3&lt;br /&gt;
:Introduceti valoarea x pentru a fi adaugata: 2&lt;br /&gt;
:Introduceti pozitia p pe care se va adauga: 10&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
;Intrare&lt;br /&gt;
:Introduceti numarul de elemente: 14541&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse sunt incorecte!&lt;br /&gt;
:&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def is_integer(value):&lt;br /&gt;
    return value.isdigit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_nr_elemente(n):&lt;br /&gt;
    if is_integer(n):&lt;br /&gt;
        if 0 &amp;lt;= int(n) &amp;lt;= 1000:&lt;br /&gt;
            return n&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_x(x):&lt;br /&gt;
    if is_integer(x):&lt;br /&gt;
        if -1000000 &amp;lt;= int(n) &amp;lt;= 1000000:&lt;br /&gt;
            return x&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_p(p, n):&lt;br /&gt;
    if is_integer(p):&lt;br /&gt;
        if -1 &amp;lt;= int(p) &amp;lt;= int(n):&lt;br /&gt;
            return p&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def verificare_vector(n, vector):&lt;br /&gt;
    if len(vector) != int(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    else:&lt;br /&gt;
        for i in vector:&lt;br /&gt;
            if is_integer(i):&lt;br /&gt;
                if -1000000 &amp;lt;= int(i) &amp;lt;= 1000000:&lt;br /&gt;
                    continue&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                    exit()&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Datele introduse sunt incorecte!&amp;quot;)&lt;br /&gt;
                exit()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def adaugare_element(vector, x, p):&lt;br /&gt;
    vector.insert(int(p)-1, int(x))&lt;br /&gt;
    return vector&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul de elemente: &amp;quot;)&lt;br /&gt;
    verificare_nr_elemente(n)&lt;br /&gt;
    x = input(&amp;quot;Introduceti valoarea x pentru a fi adaugata: &amp;quot;)&lt;br /&gt;
    verificare_x(x)&lt;br /&gt;
    p = input(&amp;quot;Introduceti pozitia p pe care se va adauga: &amp;quot;)&lt;br /&gt;
    verificare_p(p, n)&lt;br /&gt;
    elem = input(f&amp;quot;Introduceti {n} elem separate prin spatiu:&amp;quot;).split()&lt;br /&gt;
    verificare_vector(n, elem)&lt;br /&gt;
    print(&amp;quot;Datele introduse sunt corecte!&amp;quot;)&lt;br /&gt;
    vector_nou = adaugare_element(elem, x, p)&lt;br /&gt;
    print(&amp;quot;Noul vector este: &amp;quot;, vector_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Acest cod implementează o soluție pentru problema adăugării unui element pe o anumită poziție într-un vector. Utilizatorul introduce un număr de elemente, valoarea de adăugat și poziția pe care să fie adăugată apoi elementele vectorului. Se verifică dacă datele introduse sunt corecte și, în caz afirmativ, se adaugă elementul în vector și se afișează noul vector.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;is_integer(value)&amp;lt;/code&amp;gt; verifică dacă un caracter reprezintă un număr întreg și returnează True dacă este, altfel returnează False.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt; verifică dacă numărul de elemente &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; este un număr întreg între 0 și 1000 și returnează acest număr. Dacă &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_x(x)&amp;lt;/code&amp;gt; verifică dacă valoarea &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; este un număr întreg între -1.000.000 și 1.000.000 și returnează acest număr. Dacă &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_p(p, n)&amp;lt;/code&amp;gt; verifică dacă poziția &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; este un număr întreg între -1 și &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și returnează acest număr. Dacă &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; nu este valid, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;verificare_vector(n, vector)&amp;lt;/code&amp;gt; verifică dacă vectorul are &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente și dacă fiecare element este un număr întreg între -1.000.000 și 1.000.000. Dacă vectorul este valid, nu se întoarce nimic. Dacă nu, se afișează un mesaj de eroare și se oprește programul.&lt;br /&gt;
&lt;br /&gt;
Funcția &amp;lt;code&amp;gt;adaugare_element(vector, x, p)&amp;lt;/code&amp;gt; primește un vector, o valoare &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; și o poziție &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; și adaugă valoarea &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; în vector pe poziția &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt;. Rezultatul este returnat sub formă de listă.&lt;br /&gt;
&lt;br /&gt;
Instrucțiunea &amp;lt;code&amp;gt;if __name__ == &#039;__main__&#039;:&amp;lt;/code&amp;gt; verifică dacă programul este rulat ca script și, în caz afirmativ, apelează funcțiile &amp;lt;code&amp;gt;verificare_nr_elemente(n)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_x(x)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;verificare_p(p, n)&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;verificare_vector(n, elem)&amp;lt;/code&amp;gt; pentru a verifica datele introduse, adăuga elementul în vector și afișa noul vector. Se afișează și un mesaj care confirmă că datele introduse sunt corecte înainte de a afișa noul vector&lt;/div&gt;</summary>
		<author><name>Miriam</name></author>
	</entry>
</feed>