<?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=Carla+Chereji</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=Carla+Chereji"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/wiki/Special:Contributions/Carla_Chereji"/>
	<updated>2026-05-01T02:40:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=27036&amp;diff=6998</id>
		<title>27036</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=27036&amp;diff=6998"/>
		<updated>2023-10-20T11:54:57Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;#039;&amp;#039;&amp;#039;27036 (Radu Pop)&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;Să se determine funcțiile derivabile &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; : ℝ -&amp;gt; ℝ cu proprietățile:&amp;#039;&amp;#039;  &amp;#039;&amp;#039;a)  &amp;lt;math&amp;gt;f&amp;#039; &amp;lt;/math&amp;gt; este funcție strict crescătoare;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;b)  &amp;lt;math&amp;gt;f&amp;#039;(0) = 0; &amp;lt;/math&amp;gt;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;c) &amp;lt;math&amp;gt;f(yf&amp;#039;(x)) + f(x)f(y) = xy f&amp;#039;(x)f&amp;#039;(y) &amp;lt;/math&amp;gt; , oricare ar fi x, y ∈ ℝ;&amp;#039;&amp;#039;   &amp;#039;&amp;#039;&amp;#039;Soluție:&amp;#039;&amp;#039;&amp;#039;  Cum &amp;lt;math&amp;gt;f&amp;#039; (x) &amp;gt; 0, x \in (0, \infty) &amp;lt;/math&amp;gt;,  rezultă că &amp;lt;math&amp;gt;f &amp;lt;/math&amp;gt; este strict crescătoare, deci injectivă pe &amp;lt;math&amp;gt;[0, \infty) &amp;lt;/math&amp;gt;. Deoarece e...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;27036 (Radu Pop)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Să se determine funcțiile derivabile &amp;lt;math&amp;gt;f&lt;br /&gt;
&amp;lt;/math&amp;gt; : ℝ -&amp;gt; ℝ cu proprietățile:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;a)  &amp;lt;math&amp;gt;f&#039;&lt;br /&gt;
&amp;lt;/math&amp;gt; este funcție strict crescătoare;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;b)  &amp;lt;math&amp;gt;f&#039;(0) = 0;&lt;br /&gt;
&amp;lt;/math&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;c) &amp;lt;math&amp;gt;f(yf&#039;(x)) + f(x)f(y) = xy f&#039;(x)f&#039;(y)&lt;br /&gt;
&amp;lt;/math&amp;gt; , oricare ar fi x, y ∈ ℝ;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soluție:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cum &amp;lt;math&amp;gt;f&#039; (x) &amp;gt; 0, x \in (0, \infty)&lt;br /&gt;
&amp;lt;/math&amp;gt;,  rezultă că &amp;lt;math&amp;gt;f&lt;br /&gt;
&amp;lt;/math&amp;gt; este strict crescătoare, deci injectivă pe &amp;lt;math&amp;gt;[0, \infty)&lt;br /&gt;
&amp;lt;/math&amp;gt;. Deoarece expresia &amp;lt;math&amp;gt;xyf&#039;(x)f&#039;(y)-f(x)f(y)&lt;br /&gt;
&amp;lt;/math&amp;gt; simetrică in x și y, din c) rezultă că &amp;lt;math&amp;gt;f(yf&#039;(x))=f(xf&#039;(y))&lt;br /&gt;
&amp;lt;/math&amp;gt;.  Din injectivitatea lui &amp;lt;math&amp;gt;f&lt;br /&gt;
&amp;lt;/math&amp;gt; obținem &amp;lt;math&amp;gt;yf&#039;(x)=xf&#039;(y)&lt;br /&gt;
&amp;lt;/math&amp;gt;, pentru orice &amp;lt;math&amp;gt;x,y \in [0, \infty)&lt;br /&gt;
&amp;lt;/math&amp;gt;. În particular, &amp;lt;math&amp;gt;f&#039;(x) = f&#039;(1)x&lt;br /&gt;
&amp;lt;/math&amp;gt; , deci &amp;lt;math&amp;gt;f(x) = ax^2 +c&lt;br /&gt;
&amp;lt;/math&amp;gt; , unde &amp;lt;math&amp;gt;a = \left ( \frac{f&#039;(1)}{2} \right ) &amp;gt; 0&lt;br /&gt;
&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;c \in &lt;br /&gt;
&amp;lt;/math&amp;gt; ℝ . Pentru &amp;lt;math&amp;gt;x, y \in [0, \infty)&lt;br /&gt;
&amp;lt;/math&amp;gt; avem &amp;lt;math&amp;gt;f(2axy)+a^2 x^2 y^2 = 4a^2 x^2y^2&lt;br /&gt;
&amp;lt;/math&amp;gt; , deci &amp;lt;math&amp;gt;4a^3x^2y^2+a^2x^2y^2=4a^2x^2y^2&lt;br /&gt;
&amp;lt;/math&amp;gt;. Rezultă &amp;lt;math&amp;gt;a = \frac{3}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt; , deci &amp;lt;math&amp;gt;f(x) = \frac{3}{4}x^2, x \in [0, \infty)&lt;br /&gt;
&amp;lt;/math&amp;gt;. Dacă &amp;lt;math&amp;gt;x, y \in (-\infty, 0]&lt;br /&gt;
&amp;lt;/math&amp;gt;, atunci &amp;lt;math&amp;gt;yf&#039;(x)\geq 0, xf&#039;(y)\geq0&lt;br /&gt;
&amp;lt;/math&amp;gt;  și că mai  sus avem &amp;lt;math&amp;gt;yf&#039;(x)=xf&#039;(y)&lt;br /&gt;
&amp;lt;/math&amp;gt;. În particular &amp;lt;math&amp;gt;f&#039;(x)=-f&#039;(-1)x&lt;br /&gt;
&amp;lt;/math&amp;gt;, deci &amp;lt;math&amp;gt;f(x)=bx^2 + d,&lt;br /&gt;
&amp;lt;/math&amp;gt; cu &amp;lt;math&amp;gt;b&amp;gt;0&lt;br /&gt;
&amp;lt;/math&amp;gt; și d &amp;lt;math&amp;gt;\in&lt;br /&gt;
&amp;lt;/math&amp;gt; ℝ . Cum &amp;lt;math&amp;gt;0 = f(0) = d, &lt;br /&gt;
&amp;lt;/math&amp;gt; rezultă că &amp;lt;math&amp;gt;f(x) = bx^2, x \in (-\infty, 0]&lt;br /&gt;
&amp;lt;/math&amp;gt; Pentru &amp;lt;math&amp;gt;x = -1, y = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;, avem &amp;lt;math&amp;gt;f(-3b)+\frac{3}{4}b = 3b&lt;br /&gt;
&amp;lt;/math&amp;gt;, deci &amp;lt;math&amp;gt;4b^3 = \frac{9}{4}b&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
și cum &amp;lt;math&amp;gt;b&amp;gt; 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;, rezultă &amp;lt;math&amp;gt;b = \frac{3}{4}.&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Obținem &amp;lt;math&amp;gt;f(x) = \frac{3}{4}x^2, x \in&lt;br /&gt;
&amp;lt;/math&amp;gt;ℝ  , funcție care verifică ipotezele din enunț.&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4624</id>
		<title>0078 - F Citire Matrice</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4624"/>
		<updated>2023-04-26T15:16:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional. Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, &#039;&#039;&#039;n, m&#039;&#039;&#039;, reprezenând numărul de linii, respectiv de coloane ale tabloului &#039;&#039;&#039;a&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;a, n  și m&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran matricea citită.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 2^64&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
:  2 2&lt;br /&gt;
: 1 2, 3 4&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 2&lt;br /&gt;
: 3 4&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3 3&lt;br /&gt;
: 1 3 5, 7 8 9, 1 3 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 3 5&lt;br /&gt;
: 7 8 9&lt;br /&gt;
: 1 3 5&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def citmat():&lt;br /&gt;
    # Citirea numărului de rânduri și coloane ale matricei&lt;br /&gt;
    n, m = map(int, input(&amp;quot;Introduceți numărul de rânduri și coloane ale matricei, separate prin spațiu: &amp;quot;).split())&lt;br /&gt;
    a = []&lt;br /&gt;
    # Citirea elementelor matricei pentru fiecare rând în parte&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        row = list(map(int, input(&amp;quot;Introduceți elementele rândului {} separate prin spațiu: &amp;quot;.format(i+1)).split()))&lt;br /&gt;
        a.append(row)&lt;br /&gt;
    # Afișarea matricei citite&lt;br /&gt;
    print(&amp;quot;Matricea citită:&amp;quot;)&lt;br /&gt;
    for row in a:&lt;br /&gt;
        print(*row)&lt;br /&gt;
    return a, n, m&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def validare(a, n, m):&lt;br /&gt;
    # Implementați aici logica de validare a matricei a&lt;br /&gt;
    # În exemplul de mai jos se verifică doar dacă numărul de elemente din fiecare rând este egal cu m&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        if len(a[i]) != m:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    a, n, m = citmat()&lt;br /&gt;
    if validare(a, n, m):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        # Continuați cu logica dvs. de prelucrare a matricei&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        # Gestionarea cazului în care matricea nu este validă&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4623</id>
		<title>0078 - F Citire Matrice</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4623"/>
		<updated>2023-04-26T15:14:36Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional.&lt;br /&gt;
Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, n, m, reprezenând numărul de linii, respectiv de coloane ale tabloului a.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul a, n m.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 2^64&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
:  2 2&lt;br /&gt;
: 1 2, 3 4&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 2&lt;br /&gt;
: 3 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3 3&lt;br /&gt;
: 1 3 5, 7 8 9, 1 3 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 3 5&lt;br /&gt;
: 7 8 9&lt;br /&gt;
: 1 3 5&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4622</id>
		<title>0078 - F Citire Matrice</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0078_-_F_Citire_Matrice&amp;diff=4622"/>
		<updated>2023-04-26T15:14:27Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional.  Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, n, m, reprezenând numărul de linii, respectiv de coloane ale tabloului a.   &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;  Programul citește de la tastatură numărul &amp;lt;code&amp;gt;a, n m&amp;lt;/code&amp;gt;.  &amp;lt;nowiki&amp;gt;== Date de ieșire ==...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Scrieți definiția completă subprogramului citmat care citește de la tastatură dimensiunile și elementele unui tablou bidimensional.&lt;br /&gt;
&lt;br /&gt;
Subprogramul citmat va avea trei parametri: a, un tablou bidimensional cu elemente întregi, n, m, reprezenând numărul de linii, respectiv de coloane ale tabloului a.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;a, n m&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 2^64&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;  2 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1 2, 3 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1 3 5, 7 8 9, 1 3 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1 3 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 7 8 9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1 3 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4603</id>
		<title>3590 - Bit Distance</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4603"/>
		<updated>2023-04-26T14:41:18Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un număr natural &#039;&#039;&#039;n&#039;&#039;&#039;. Considerând reprezentarea in baza 2 a acestui număr, calculați distanța dintre primul bit setat și ultimul bit setat. Distanța dintre 2 biți este egală cu numărul de biți aflați intre biții respectivi.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 2^64&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 82&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 6&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= pow(2, 64) &lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti n: &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        n = int(n)&lt;br /&gt;
&lt;br /&gt;
        # Teoretic, primul bit este întotdeauna 1. Dacă mutăm toți biții la dreapta până când rămâne numărul 0b000001,&lt;br /&gt;
        # vom afla distanța cerută.&lt;br /&gt;
        distanta = 1&lt;br /&gt;
&lt;br /&gt;
        if n == 0:&lt;br /&gt;
            distanta = 0&lt;br /&gt;
        else:&lt;br /&gt;
            # Întâi, mutăm biții la dreapta până când vom avea un 1 la final&lt;br /&gt;
            while not (n &amp;amp; 0b001):&lt;br /&gt;
                n &amp;gt;&amp;gt;= 1&lt;br /&gt;
            # Acum, mutăm biții la dreapta până când rămâne numărul 1, adică până când ajungem la primul bit setat&lt;br /&gt;
            while n != 1:&lt;br /&gt;
                n &amp;gt;&amp;gt;= 1&lt;br /&gt;
                distanta += 1&lt;br /&gt;
&lt;br /&gt;
        # Se afișează distanța calculată&lt;br /&gt;
        print(&amp;quot;Distanța cerută este:&amp;quot;, distanta)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4602</id>
		<title>3590 - Bit Distance</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4602"/>
		<updated>2023-04-26T14:39:53Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un număr natural n. Considerând reprezentarea in baza 2 a acestui număr, calculați distanța dintre primul bit setat și ultimul bit setat. Distanța dintre 2 biți este egală cu numărul de biți aflați intre biții respectivi.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 2^64&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 82&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 6&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4601</id>
		<title>3590 - Bit Distance</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3590_-_Bit_Distance&amp;diff=4601"/>
		<updated>2023-04-26T14:39:45Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Se dă un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Considerând reprezentarea in baza &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; a acestui număr, calculați distanța dintre primul bit setat și ultimul bit setat. Distanța dintre &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; biți este egală cu numărul de biți aflați intre biții respectivi.  &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;  Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.  &amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;  Programul va afișa pe...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se dă un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;. Considerând reprezentarea in baza &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; a acestui număr, calculați distanța dintre primul bit setat și ultimul bit setat. Distanța dintre &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; biți este egală cu numărul de biți aflați intre biții respectivi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 2^64&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 82&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2997_-_Prescurtat&amp;diff=4566</id>
		<title>2997 - Prescurtat</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2997_-_Prescurtat&amp;diff=4566"/>
		<updated>2023-04-26T14:11:31Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Scrieți funcția cu următorul antet:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;void Prescurtat(char s[])&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Funcția primește ca parametru un text de cel mult 50 de caractere, alcătuit din cuvinte separate prin câte un spațiu și formate din litere mari ale alfabetului englez, urmate eventual de caracterul . (punct), dacă sunt scrise prescurtat. Textul reprezintă numele unei instituții de învățământ și doar cuvintele din mulțimea {COLEGIUL, LICEUL, NATIONAL, TEORETIC} pot fi prescurtate, eliminându-se ultimele lor litere. Funcția va returna tot prin intermediul parametrului s numele instituției scris fără prescurtări.&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
&lt;br /&gt;
* Lungimea inițială a șirului &#039;&#039;&#039;s&#039;&#039;&#039; va fi de cel mult 50, iar la final de cel mult 100.&lt;br /&gt;
&lt;br /&gt;
* Puteți utiliza funcțiile pentru  șirurile de caractere din biblioteca cstring&lt;br /&gt;
&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:COLEG. NAT. DE INFORMATICA&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:COLEGIUL NATIONAL DE INFORMATICA&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(s):&lt;br /&gt;
    return s.isalpha()&lt;br /&gt;
&lt;br /&gt;
def Prescurtat(s):&lt;br /&gt;
    con = &amp;quot;&amp;quot;  # Variabila pentru stocarea sirului prescurtat&lt;br /&gt;
    tokens = s.split(&amp;quot; &amp;quot;)  # Impartirea sirului s in token-uri folosind spatiul ca delimitator&lt;br /&gt;
    for token in tokens:&lt;br /&gt;
        lp = len(token)  # Lungimea token-ului curent&lt;br /&gt;
        if token[lp-1] == &#039;.&#039;:  # Verificam daca token-ul se termina cu punct&lt;br /&gt;
            if token[:2] == &#039;CO&#039;:  # Verificam daca primele doua caractere ale token-ului sunt &#039;CO&#039;&lt;br /&gt;
                con += &amp;quot;COLEGIUL &amp;quot;  # Adaugam la sirul prescurtat &#039;COLEGIUL &#039;&lt;br /&gt;
            elif token[:2] == &#039;LI&#039;:  # Verificam daca primele doua caractere ale token-ului sunt &#039;LI&#039;&lt;br /&gt;
                con += &amp;quot;LICEUL &amp;quot;  # Adaugam la sirul prescurtat &#039;LICEUL &#039;&lt;br /&gt;
            elif token[:2] == &#039;NA&#039;:  # Verificam daca primele doua caractere ale token-ului sunt &#039;NA&#039;&lt;br /&gt;
                con += &amp;quot;NATIONAL &amp;quot;  # Adaugam la sirul prescurtat &#039;NATIONAL &#039;&lt;br /&gt;
            elif token[:2] == &#039;TE&#039;:  # Verificam daca primele doua caractere ale token-ului sunt &#039;TE&#039;&lt;br /&gt;
                con += &amp;quot;TEORETIC &amp;quot;  # Adaugam la sirul prescurtat &#039;TEORETIC &#039;&lt;br /&gt;
        else:&lt;br /&gt;
            con += token + &amp;quot; &amp;quot;  # Daca token-ul nu se termina cu punct, il adaugam la sirul prescurtat cu un spatiu la final&lt;br /&gt;
    con = con.rstrip()  # Stergem spatiile de la sfarsitul sirului prescurtat&lt;br /&gt;
    return con&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    s = input(&amp;quot;Introduceti sirul de caractere: &amp;quot;)  # Citim sirul de la tastatura&lt;br /&gt;
    print(&amp;quot;Inainte:&amp;quot;, s)  # Afisam sirul inainte de prescurtare&lt;br /&gt;
    s = Prescurtat(s)  # Apelam functia Prescurtat pentru a prescurta sirul&lt;br /&gt;
    print(&amp;quot;Dupa:&amp;quot;, s)  # Afisam sirul dupa prescurtare&lt;br /&gt;
&lt;br /&gt;
    if validare(s):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4536</id>
		<title>0914 - Half Sort 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4536"/>
		<updated>2023-04-26T13:32:32Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un vector cu &#039;&#039;&#039;n elemente numere întreg&#039;&#039;&#039;i, &#039;&#039;&#039;n fiind număr par&#039;&#039;&#039;. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.&lt;br /&gt;
&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;citire&#039;&#039;&#039;, care citește valoarea lui n și cele n elemente ale tabloului&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;afisare&#039;&#039;&#039;, care afișează elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sortare&#039;&#039;&#039;, care ordonează elementele vectorului cuprinse între doi indici transmiși ca parametru. &lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fişierul de intrare halfsort1.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fişierul de ieşire halfsort1.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
*valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 1.000.000.00&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 6&lt;br /&gt;
: 8 2  9 4 5 7&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 2 8 9 7 5 4&lt;br /&gt;
== Exemplul 2==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 6&lt;br /&gt;
: 2 4 3 9 5 8&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 2 3 4 9 8 5&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, a):&lt;br /&gt;
    # Verifică dacă n este de tip int, este mai mare decât 1, mai mic sau egal cu 100 și toate elementele din a sunt de tip int&lt;br /&gt;
    return isinstance(n, int) and n &amp;gt; 1 and n &amp;lt;= 100 and all(isinstance(x, int) for x in a)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def sortare(n, a, st, dr, ch):&lt;br /&gt;
    if ch == &#039;c&#039;:&lt;br /&gt;
        # Sortare crescătoare (crescent)&lt;br /&gt;
        for i in range(st, dr):&lt;br /&gt;
            for j in range(i + 1, dr):&lt;br /&gt;
                if a[i] &amp;gt; a[j]:&lt;br /&gt;
                    a[i], a[j] = a[j], a[i]&lt;br /&gt;
    else:&lt;br /&gt;
        # Sortare descrescătoare (descendent)&lt;br /&gt;
        for i in range(st, dr):&lt;br /&gt;
            for j in range(i + 1, dr):&lt;br /&gt;
                if a[i] &amp;lt; a[j]:&lt;br /&gt;
                    a[i], a[j] = a[j], a[i]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def afisare(n, a):&lt;br /&gt;
    # Afișează elementele listei a&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        print(a[i], end=&#039; &#039;)&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = 0&lt;br /&gt;
    a = []&lt;br /&gt;
    # Citire date de intrare&lt;br /&gt;
    n = int(input(&amp;quot;Introduceți numărul de elemente: &amp;quot;))&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        a.append(int(input(f&amp;quot;Introduceți elementul {i + 1}: &amp;quot;)))&lt;br /&gt;
    # Verificare validitate date de intrare&lt;br /&gt;
    if validare(n, a):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        # Sortare&lt;br /&gt;
        sortare(n, a, 0, n // 2 + n % 2, &#039;c&#039;)&lt;br /&gt;
        sortare(n, a, n // 2 + n % 2, n, &#039;d&#039;)&lt;br /&gt;
        # Afisare rezultat&lt;br /&gt;
        print(&amp;quot;Lista sortată:&amp;quot;)&lt;br /&gt;
        afisare(n, a)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4535</id>
		<title>0914 - Half Sort 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4535"/>
		<updated>2023-04-26T13:29:11Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
•	citire, care citește valoarea lui n și cele n elemente ale tabloului&lt;br /&gt;
•	afisare, care afișează elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
•	sortare, care ordonează elementele vectorului cuprinse între doi indici transmiși ca parametru. Criteriul de ordonare (crescător/descrescător) va fi transmis ca parametru.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fişierul de intrare halfsort1.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fişierul de ieşire halfsort1.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 1000&lt;br /&gt;
*valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 1.000.000.00&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 6&lt;br /&gt;
: 8 2  9 4 5 7&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 2 8 9 7 5 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4534</id>
		<title>0914 - Half Sort 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0914_-_Half_Sort_1&amp;diff=4534"/>
		<updated>2023-04-26T13:28:55Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.  Se vor defini și apela următoarele subprograme:  * citire, care     citește valoarea lui n și cele n elemente     ale tabloului * afisare, care     afișează elementele tabloului, separate prin exact un spațiu * sortare, care     ordonează elemente...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.&lt;br /&gt;
&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
&lt;br /&gt;
* citire, care     citește valoarea lui n și cele n elemente     ale tabloului&lt;br /&gt;
* afisare, care     afișează elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
* sortare, care     ordonează elementele vectorului cuprinse între doi indici transmiși ca     parametru. Criteriul de ordonare (crescător/descrescător) va fi transmis     ca parametru.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fişierul de intrare &amp;lt;code&amp;gt;halfsort1.in&amp;lt;/code&amp;gt; conţine pe prima linie numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; si pe a doua linie &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; numere întregi separate prin spaţii.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fişierul de ieşire &amp;lt;code&amp;gt;halfsort1.out&amp;lt;/code&amp;gt; va conţine pe prima linie cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;valoarea absolută a numerelor de pe a doua linie a fişierului de intrare va fi mai mică decât 1.000.000.00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 8 2  9 4 5 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2 8 9 7 5 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0996_-_Div_3&amp;diff=4524</id>
		<title>0996 - Div 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0996_-_Div_3&amp;diff=4524"/>
		<updated>2023-04-26T13:14:20Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Pe prima linie a fişierului div3.in se află numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe a doua linie &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Pe prima linie a fişierului div3.in se află numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe a doua linie &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
*elementele şirului vor avea cel mult 9 cifre&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 7&lt;br /&gt;
: 124 51 231 7 24 31 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 51 231 24&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 124 51 abc 7 24&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse  nu corespund restricțiilor impuse.&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, numere):&lt;br /&gt;
    # Verifica daca datele de intrare sunt valide conform cerintei problemei.&lt;br /&gt;
    # Verifica daca n este un numar intreg pozitiv&lt;br /&gt;
    # si daca toate numerele din lista numere sunt numere intregi pozitive.&lt;br /&gt;
    return n.isdigit() and all(x.isdigit() for x in numere) and 1 &amp;lt;= int(n) &amp;lt;= 1000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_cifre(n, numere):&lt;br /&gt;
    # Calculeaza suma cifrelor pentru fiecare numar din lista numere,&lt;br /&gt;
    # si retine doar numerele pentru care suma cifrelor este divizibila cu 3.&lt;br /&gt;
    suma_div3 = []&lt;br /&gt;
    for x in numere:&lt;br /&gt;
        if sum(int(d) for d in str(x)) % 3 == 0:&lt;br /&gt;
            suma_div3.append(x)&lt;br /&gt;
    return suma_div3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;div3.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        n = fin.readline().strip()  # Citeste numarul de elemente din sir&lt;br /&gt;
        numere = fin.readline().strip().split()  # Citeste lista de numere&lt;br /&gt;
&lt;br /&gt;
    if validare(n, numere):&lt;br /&gt;
        n = int(n)  # Converteste n la integer&lt;br /&gt;
        numere = list(map(int, numere))  # Converteste lista de numere la integers&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        suma_div3 = suma_cifre(n, numere)  # Calculeaza suma_div3&lt;br /&gt;
        with open(&amp;quot;div3.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
            fout.write(&amp;quot; &amp;quot;.join(map(str, suma_div3)))  # Scrie numerele in fisierul de iesire&lt;br /&gt;
            fout.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0996_-_Div_3&amp;diff=4520</id>
		<title>0996 - Div 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0996_-_Div_3&amp;diff=4520"/>
		<updated>2023-04-26T13:12:25Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Pe prima linie a fişierului div3.in se află numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe a doua linie &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Pe prima linie a fişierului div3.in se află numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe a doua linie &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Pe prima linie a fişierului div3.out se vor afla elementele şirului dat pentru care suma cifrelor este divizibilă cu 3, separate printr-un spațiu. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
*elementele şirului vor avea cel mult 9 cifre&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 7&lt;br /&gt;
: 124 51 231 7 24 31 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 51 231 24&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 12 34 56 78 90&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 12 90&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, numere):&lt;br /&gt;
    # Verifica daca datele de intrare sunt valide conform cerintei problemei.&lt;br /&gt;
    # Verifica daca n este un numar intreg pozitiv&lt;br /&gt;
    # si daca toate numerele din lista numere sunt numere intregi pozitive.&lt;br /&gt;
    return n.isdigit() and all(x.isdigit() for x in numere) and 1 &amp;lt;= int(n) &amp;lt;= 1000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def suma_cifre(n, numere):&lt;br /&gt;
    # Calculeaza suma cifrelor pentru fiecare numar din lista numere,&lt;br /&gt;
    # si retine doar numerele pentru care suma cifrelor este divizibila cu 3.&lt;br /&gt;
    suma_div3 = []&lt;br /&gt;
    for x in numere:&lt;br /&gt;
        if sum(int(d) for d in str(x)) % 3 == 0:&lt;br /&gt;
            suma_div3.append(x)&lt;br /&gt;
    return suma_div3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;div3.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        n = fin.readline().strip()  # Citeste numarul de elemente din sir&lt;br /&gt;
        numere = fin.readline().strip().split()  # Citeste lista de numere&lt;br /&gt;
&lt;br /&gt;
    if validare(n, numere):&lt;br /&gt;
        n = int(n)  # Converteste n la integer&lt;br /&gt;
        numere = list(map(int, numere))  # Converteste lista de numere la integers&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        suma_div3 = suma_cifre(n, numere)  # Calculeaza suma_div3&lt;br /&gt;
        with open(&amp;quot;div3.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
            fout.write(&amp;quot; &amp;quot;.join(map(str, suma_div3)))  # Scrie numerele in fisierul de iesire&lt;br /&gt;
            fout.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4519</id>
		<title>0915 - Elim Palindrom</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4519"/>
		<updated>2023-04-26T12:53:40Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un tablou cu &#039;&#039;&#039;n&#039;&#039;&#039; elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.&lt;br /&gt;
&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;citire&#039;&#039;&#039;, care citește de la tastatură valoarea lui &#039;&#039;&#039;n&#039;&#039;&#039; și cele &#039;&#039;&#039;n elemente ale tabloului&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;afisare&#039;&#039;&#039;, care afișează pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;palindrom&#039;&#039;&#039;, care verifică dacă un număr dat ca parametru este palindrom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;eliminare&#039;&#039;&#039;, care elimină din tablou un element a cărui poziție este dată ca parametru.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Se citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi cele &#039;&#039;&#039;n&#039;&#039;&#039; elemente ale tabloului.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Se vor afișa pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
==Restricții de precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
*elementele tabloului vor fi mai mici decât 1.000.000.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
:7&lt;br /&gt;
:17 181 22 56 4 20 420&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
:17 56 20 420&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
: 4&lt;br /&gt;
:17 20 100 55&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
:17 20 100&lt;br /&gt;
==Rezolvare ver. 1==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def citire():&lt;br /&gt;
    while True:&lt;br /&gt;
        try:&lt;br /&gt;
            n = int(input(&amp;quot;Introduceți numărul de elemente (n): &amp;quot;)) # Citim numărul de elemente n de la utilizator&lt;br /&gt;
            if n &amp;gt; 0:&lt;br /&gt;
                break&lt;br /&gt;
            else:&lt;br /&gt;
                print(&amp;quot;Vă rugăm să introduceți un număr întreg pozitiv.&amp;quot;)&lt;br /&gt;
        except ValueError:&lt;br /&gt;
            print(&amp;quot;Vă rugăm să introduceți un număr întreg pozitiv.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    a = []&lt;br /&gt;
    while True:&lt;br /&gt;
        try:&lt;br /&gt;
            a_str = input(&amp;quot;Introduceți elementele listei separate prin spațiu: &amp;quot;) # Citim elementele listei separate prin spațiu&lt;br /&gt;
            a = list(map(int, a_str.split())) # Convertim elementele la tipul int și le adăugăm într-o listă&lt;br /&gt;
            if len(a) != n:&lt;br /&gt;
                print(&amp;quot;Numărul de elemente introduse nu corespunde valorii n.&amp;quot;)&lt;br /&gt;
            else:&lt;br /&gt;
                break&lt;br /&gt;
        except ValueError:&lt;br /&gt;
            print(&amp;quot;Vă rugăm să introduceți numere întregi separate prin spațiu.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    return n, a&lt;br /&gt;
&lt;br /&gt;
def palindrom(n):&lt;br /&gt;
    return str(n) == str(n)[::-1] # Verificăm dacă numărul n este palindrom, comparându-l cu el însuși scris invers&lt;br /&gt;
&lt;br /&gt;
def eliminare(a, i):&lt;br /&gt;
    return a[:i] + a[i+1:] # Eliminăm elementul de pe poziția i din lista a&lt;br /&gt;
&lt;br /&gt;
def afisare(a):&lt;br /&gt;
    print(*a, end=&amp;quot; &amp;quot;) # Afișăm elementele listei separate prin spațiu, fără linie nouă la sfârșit&lt;br /&gt;
&lt;br /&gt;
def validare(n): &lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 1000 # Validăm dacă n este un număr întreg pozitiv între 1 și 1000&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul de elemente (n): &amp;quot;)&lt;br /&gt;
    if validare(n): # Validăm dacă n-ul introdus corespunde restricțiilor&lt;br /&gt;
        n = int(n)&lt;br /&gt;
        a = []&lt;br /&gt;
        a_str = input(&amp;quot;Introduceți elementele listei separate prin spațiu: &amp;quot;)&lt;br /&gt;
        a = list(map(int, a_str.split())) # Convertim elementele listei la tipul int și le adăugăm într-o listă&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        if len(a) != n:&lt;br /&gt;
            print(&amp;quot;Numărul de elemente introduse nu corespunde valorii n.&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            i = 0&lt;br /&gt;
            while i &amp;lt; n:&lt;br /&gt;
                if palindrom(a[i]): # Verificăm dacă fiecare element din listă este palindrom&lt;br /&gt;
                    a = eliminare(a, i) # Eliminăm elementele palindrom din listă&lt;br /&gt;
                    n -= 1&lt;br /&gt;
                else:&lt;br /&gt;
                    i += 1&lt;br /&gt;
            afisare(a) # Afișăm lista de elemente rămase&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4518</id>
		<title>0915 - Elim Palindrom</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4518"/>
		<updated>2023-04-26T12:49:28Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un tablou cu n elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
•	citire, care citește de la tastatură valoarea lui n și cele n elemente ale tabloului&lt;br /&gt;
•	afisare, care afișează pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
•	palindrom, care verifică dacă un număr dat ca parametru este palindrom&lt;br /&gt;
•	eliminare, care elimină din tablou un element a cărui poziție este dată ca parametru.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Se citește de la tastatură numărul n, iar apoi cele n elemente ale tabloului.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Se vor afișa pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 1000&lt;br /&gt;
*elementele tabloului vor fi mai mici decât 1.000.000.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 7&lt;br /&gt;
: 17 181 22 56 4 20 420&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 17 56 20 420&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4&lt;br /&gt;
: 17 20 100 55&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 17 20 100&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4517</id>
		<title>0915 - Elim Palindrom</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0915_-_Elim_Palindrom&amp;diff=4517"/>
		<updated>2023-04-26T12:49:10Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Se dă un tablou cu n elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.  Se vor defini și apela următoarele subprograme:  * citire, care     citește de la tastatură valoarea lui n și cele n elemente     ale tabloului * afisare, care     afișează pe ecran elementele tabloului, separate prin exact un spațiu * palindrom, care     verifică dacă un număr dat ca parametru este palindrom * eliminar...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se dă un tablou cu n elemente, numere naturale. Să se elimine din tablou toate elementele care sunt palindrom.&lt;br /&gt;
&lt;br /&gt;
Se vor defini și apela următoarele subprograme:&lt;br /&gt;
&lt;br /&gt;
* citire, care     citește de la tastatură valoarea lui n și cele n elemente     ale tabloului&lt;br /&gt;
* afisare, care     afișează pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
* palindrom, care     verifică dacă un număr dat ca parametru este palindrom&lt;br /&gt;
* eliminare, care     elimină din tablou un element a cărui poziție este dată ca parametru.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, iar apoi cele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; elemente ale tabloului.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se vor afișa pe ecran elementele tabloului, separate prin exact un spațiu&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 1000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;elementele tabloului vor fi mai mici decât 1.000.000.000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 17 181 22 56 4 20 420&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 17 56 20 420&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 17 20 100 55&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 17 20 100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2577_-_Get_Bit&amp;diff=4504</id>
		<title>2577 - Get Bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2577_-_Get_Bit&amp;diff=4504"/>
		<updated>2023-04-26T11:05:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dau mai multe perechi de forma număr, bit. Afișați pentru fiecare pereche valoarea bitului corespunzător din reprezentarea internă pe 64 de biți a numărului dat.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;T&#039;&#039;&#039;, iar apoi T linii care conțin, fiecare, câte două numere separate prin spațiu &#039;&#039;&#039;n&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039; cu semnificația că se cere valoarea bitului de pe poziția &#039;&#039;&#039;b&#039;&#039;&#039; din reprezentarea internă a numărului &#039;&#039;&#039;n.&#039;&#039;&#039;&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Programul va afișa pe ecran, neseparate prin spațiu, cele &#039;&#039;&#039;T&#039;&#039;&#039; valori, determinate, în ordinea dată. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*numerele n sunt memorate cu tipul de date pe 64 de biți, cu semn&lt;br /&gt;
*numărul b este natural, cuprins între 0 și 63, inclusiv&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 2&lt;br /&gt;
: 6 0 &lt;br /&gt;
: 5 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 0 1&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3 &lt;br /&gt;
: 7 1&lt;br /&gt;
: 15 2&lt;br /&gt;
: 21 0&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 1 1&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(T, n, b):&lt;br /&gt;
    # Funcție de validare a datelor de intrare&lt;br /&gt;
    # Verificăm dacă T este între 0 și 1000, iar n și b conțin numere între 0 și 2^63 - 1 și respectiv 0 și 63&lt;br /&gt;
    return 0 &amp;lt;= int(T) &amp;lt;= 1000 and all(0 &amp;lt;= int(num) &amp;lt;= 2**63 - 1 for num in n) and all(0 &amp;lt;= int(bit) &amp;lt;= 63 for bit in b)&lt;br /&gt;
&lt;br /&gt;
def getbit(T, n, b):&lt;br /&gt;
    # Funcție pentru a obține valoarea bitului corespunzător din reprezentarea internă a numărului&lt;br /&gt;
    for i in range(T):&lt;br /&gt;
        bit_val = (n[i] &amp;amp; (1 &amp;lt;&amp;lt; b[i])) &amp;gt;&amp;gt; b[i]&lt;br /&gt;
        print(bit_val)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Funcția principală a programului&lt;br /&gt;
    T = input(&amp;quot;Introduceți numărul de perechi de număr, bit: &amp;quot;)&lt;br /&gt;
    n = []&lt;br /&gt;
    b = []&lt;br /&gt;
    for i in range(int(T)):&lt;br /&gt;
        # Citirea datelor de intrare și adăugarea lor în liste separate pentru n și b&lt;br /&gt;
        pair = input(&amp;quot;Introduceți valorile n și b separate prin spațiu pentru perechea {}: &amp;quot;.format(i + 1)).split()&lt;br /&gt;
        n.append(int(pair[0]))&lt;br /&gt;
        b.append(int(pair[1]))&lt;br /&gt;
&lt;br /&gt;
    if validare(T, n, b):&lt;br /&gt;
        # Verificăm dacă datele de intrare corespund restricțiilor impuse&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        getbit(int(T), n, b)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Apelează funcția main() doar atunci când scriptul este executat ca script principal&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4494</id>
		<title>2999 - Trim</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4494"/>
		<updated>2023-04-26T09:50:56Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: /* Exemplul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Scrieți un program care citește de la tastatură trei numere naturale &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; și afișează:&lt;br /&gt;
&lt;br /&gt;
* câte  submulțimi sunt formate dintr-un număr de elemente pare (cardinalul submulțimilor este un număr par)&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a elementelor din submulțimile cu număr de ordine &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; (0 &amp;lt; k ≤ r ≤ 100)&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea,     al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; &lt;br /&gt;
Se afișează fiecare pe câte o linie:&lt;br /&gt;
&lt;br /&gt;
* numărul     de submulțimi cu număr de elemente pare&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a numerelor din submulțimile &#039;&#039;&#039;k și r&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea, al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;k&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;r&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; 100&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:10&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:7&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1024&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
:7 9&lt;br /&gt;
&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:12&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:4&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
;&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 4096&lt;br /&gt;
: 3&lt;br /&gt;
: 4 6 8 10 12&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def numar_submultimi_pare(n):&lt;br /&gt;
    # Calculează numărul de submulțimi cu cardinalitatea pară&lt;br /&gt;
    return 2 ** n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def medie_submultimi(submultimi, k, r):&lt;br /&gt;
    # Calculează media aritmetică a elementelor din submulțimile k și r&lt;br /&gt;
    # Dacă k și r sunt în afara intervalului corect, returnează None&lt;br /&gt;
    if k &amp;lt; 1 or r &amp;gt; len(submultimi) or k &amp;gt; r:&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultimi_k_r = submultimi[k-1:r:2]  # obține submulțimile de la k la r, cu pași de 2&lt;br /&gt;
        medie = sum(submultimi_k_r) / len(submultimi_k_r)&lt;br /&gt;
        return medie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def submultime_specifica(submultimi, r):&lt;br /&gt;
    # Obține elementele submulțimii r sub forma specificată&lt;br /&gt;
    if r &amp;gt; len(submultimi):&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultime_r = submultimi[r-1::2]  # obține elementele submulțimii r, cu pași de 2&lt;br /&gt;
        return submultime_r&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citirea datelor de intrare de la tastatură&lt;br /&gt;
    n = int(input(&amp;quot;Introduceți numărul total de elemente: &amp;quot;))&lt;br /&gt;
    k = int(input(&amp;quot;Introduceți numărul de ordine k: &amp;quot;))&lt;br /&gt;
    r = int(input(&amp;quot;Introduceți numărul de ordine r: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    # Verificare restricții&lt;br /&gt;
    if not (0 &amp;lt; k &amp;lt;= r &amp;lt;= 100):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        # Obținere număr de submulțimi cu cardinalitatea pară&lt;br /&gt;
        numar_submultimi_pare = numar_submultimi_pare(n)&lt;br /&gt;
        print(&amp;quot;Numărul de submulțimi cu cardinalitatea pară:&amp;quot;, numar_submultimi_pare)&lt;br /&gt;
&lt;br /&gt;
        # Generare submulțimi&lt;br /&gt;
        submultimi = list(range(1, n+1))&lt;br /&gt;
&lt;br /&gt;
        # Obținere medie aritmetică&lt;br /&gt;
        medie = medie_submultimi(submultimi, k, r)&lt;br /&gt;
        if medie is not None:&lt;br /&gt;
            print(&amp;quot;Media aritmetică a numerelor din submulțimile k și r:&amp;quot;, medie)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate calcula media aritmetică pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # Obținere submulțime specifică&lt;br /&gt;
        submultime_specifica = submultime_specifica(submultimi, r)&lt;br /&gt;
        if submultime_specifica is not None:&lt;br /&gt;
            print(&amp;quot;Elementele submulțimii r sub forma specificată:&amp;quot;, submultime_specifica)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate obține submulțimea specificată pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4493</id>
		<title>2999 - Trim</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4493"/>
		<updated>2023-04-26T09:50:02Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Scrieți un program care citește de la tastatură trei numere naturale &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; și afișează:&lt;br /&gt;
&lt;br /&gt;
* câte  submulțimi sunt formate dintr-un număr de elemente pare (cardinalul submulțimilor este un număr par)&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a elementelor din submulțimile cu număr de ordine &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; (0 &amp;lt; k ≤ r ≤ 100)&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea,     al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; &lt;br /&gt;
Se afișează fiecare pe câte o linie:&lt;br /&gt;
&lt;br /&gt;
* numărul     de submulțimi cu număr de elemente pare&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a numerelor din submulțimile &#039;&#039;&#039;k și r&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea, al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;k&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;r&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; 100&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:10&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:7&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1024&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
:7 9&lt;br /&gt;
&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:12&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:4&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
: 4096&lt;br /&gt;
: 3&lt;br /&gt;
: 4 6 8 10 12&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def numar_submultimi_pare(n):&lt;br /&gt;
    # Calculează numărul de submulțimi cu cardinalitatea pară&lt;br /&gt;
    return 2 ** n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def medie_submultimi(submultimi, k, r):&lt;br /&gt;
    # Calculează media aritmetică a elementelor din submulțimile k și r&lt;br /&gt;
    # Dacă k și r sunt în afara intervalului corect, returnează None&lt;br /&gt;
    if k &amp;lt; 1 or r &amp;gt; len(submultimi) or k &amp;gt; r:&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultimi_k_r = submultimi[k-1:r:2]  # obține submulțimile de la k la r, cu pași de 2&lt;br /&gt;
        medie = sum(submultimi_k_r) / len(submultimi_k_r)&lt;br /&gt;
        return medie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def submultime_specifica(submultimi, r):&lt;br /&gt;
    # Obține elementele submulțimii r sub forma specificată&lt;br /&gt;
    if r &amp;gt; len(submultimi):&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultime_r = submultimi[r-1::2]  # obține elementele submulțimii r, cu pași de 2&lt;br /&gt;
        return submultime_r&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citirea datelor de intrare de la tastatură&lt;br /&gt;
    n = int(input(&amp;quot;Introduceți numărul total de elemente: &amp;quot;))&lt;br /&gt;
    k = int(input(&amp;quot;Introduceți numărul de ordine k: &amp;quot;))&lt;br /&gt;
    r = int(input(&amp;quot;Introduceți numărul de ordine r: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    # Verificare restricții&lt;br /&gt;
    if not (0 &amp;lt; k &amp;lt;= r &amp;lt;= 100):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        # Obținere număr de submulțimi cu cardinalitatea pară&lt;br /&gt;
        numar_submultimi_pare = numar_submultimi_pare(n)&lt;br /&gt;
        print(&amp;quot;Numărul de submulțimi cu cardinalitatea pară:&amp;quot;, numar_submultimi_pare)&lt;br /&gt;
&lt;br /&gt;
        # Generare submulțimi&lt;br /&gt;
        submultimi = list(range(1, n+1))&lt;br /&gt;
&lt;br /&gt;
        # Obținere medie aritmetică&lt;br /&gt;
        medie = medie_submultimi(submultimi, k, r)&lt;br /&gt;
        if medie is not None:&lt;br /&gt;
            print(&amp;quot;Media aritmetică a numerelor din submulțimile k și r:&amp;quot;, medie)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate calcula media aritmetică pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # Obținere submulțime specifică&lt;br /&gt;
        submultime_specifica = submultime_specifica(submultimi, r)&lt;br /&gt;
        if submultime_specifica is not None:&lt;br /&gt;
            print(&amp;quot;Elementele submulțimii r sub forma specificată:&amp;quot;, submultime_specifica)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate obține submulțimea specificată pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4453</id>
		<title>2587 - Swap Bytes</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4453"/>
		<updated>2023-04-25T17:06:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un număr &#039;&#039;&#039;n&#039;&#039;&#039;, întreg și care va fi citit într-o variabilă pe 16 biți, cu semn. Calculați, într-o variabilă de același tip (și apoi afișați pe ecran valoarea acestei variabile) ceea ce se obține interschimbând cei doi octeți ai variabilei inițiale (secvența primilor 8 biți ajunge, în aceeași ordine pe ultimele 8 poziții, și invers).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran valoarea calculată.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*-32768 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 32767&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 1&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 256&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1280&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return n.isdigit() and int(n) &amp;gt;= -2**15 and int(n) &amp;lt;= 2**15 - 1&lt;br /&gt;
&lt;br /&gt;
def interschimbare_octeti(n):&lt;br /&gt;
    # Verificăm dacă n este pe 16 biți folosind funcția de validare&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        # Extragem primul octet și al doilea octet&lt;br /&gt;
        primul_octet = int(n) &amp;amp; 0xFF&lt;br /&gt;
        al_doilea_octet = (int(n) &amp;gt;&amp;gt; 8) &amp;amp; 0xFF&lt;br /&gt;
&lt;br /&gt;
        # Realizăm interschimbarea octeților prin combinarea lor într-un nou număr&lt;br /&gt;
        n_interschimbat = (primul_octet &amp;lt;&amp;lt; 8) | al_doilea_octet&lt;br /&gt;
&lt;br /&gt;
        return n_interschimbat&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Numărul introdus nu este pe 16 biți.&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citirea valorii pentru n de la tastatură&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul n (pe 16 biți, cu semn): &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Validarea și apelarea funcției de interschimbare a octeților&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        n_interschimbat = interschimbare_octeti(n)&lt;br /&gt;
        if n_interschimbat is not None:&lt;br /&gt;
            print(n_interschimbat)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4451</id>
		<title>2587 - Swap Bytes</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4451"/>
		<updated>2023-04-25T17:03:22Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un număr n, întreg și care va fi citit într-o variabilă pe 16 biți, cu semn. Calculați, într-o variabilă de același tip (și apoi afișați pe ecran valoarea acestei variabile) ceea ce se obține interschimbând cei doi octeți ai variabilei inițiale (secvența primilor 8 biți ajunge, în aceeași ordine pe ultimele 8 poziții, și invers).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran valoarea calculată.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*-32768 &amp;amp;les; n &amp;amp;les; 32767&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 1&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 256&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1280&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4450</id>
		<title>2587 - Swap Bytes</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2587_-_Swap_Bytes&amp;diff=4450"/>
		<updated>2023-04-25T17:03:14Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Se dă un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, întreg și care va fi citit într-o variabilă pe &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt; biți, cu semn. Calculați, într-o variabilă de același tip (și apoi afișați pe ecran valoarea acestei variabile) ceea ce se obține interschimbând cei doi octeți ai variabilei inițiale (secvența primilor &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; biți ajunge, în aceeași ordine pe ultimele &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; poziții, și invers).  &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se dă un număr &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, întreg și care va fi citit într-o variabilă pe &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt; biți, cu semn. Calculați, într-o variabilă de același tip (și apoi afișați pe ecran valoarea acestei variabile) ceea ce se obține interschimbând cei doi octeți ai variabilei inițiale (secvența primilor &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; biți ajunge, în aceeași ordine pe ultimele &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; poziții, și invers).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran valoarea calculată.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;-32768 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 32767&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 256&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1280&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4447</id>
		<title>3956 - Erase Bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4447"/>
		<updated>2023-04-25T16:23:50Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Dându-se un număr natural &#039;&#039;&#039;n&#039;&#039;&#039;, să se afle toate numerele obținute resetând succesiv cel mai nesemnificativ bit cu valoarea 1, fără a folosi variabile auxiliare.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran numerele.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 10^18&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 123&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
122 121 119 111 95 63 0&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 86&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 85 83 79 63 0&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return str(n).isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 10**18&lt;br /&gt;
&lt;br /&gt;
def resetare_bit(n):&lt;br /&gt;
    while n &amp;gt; 0: # Cât timp n este mai mare ca și 0&lt;br /&gt;
        print(n - 1, end=&amp;quot; &amp;quot;) # Afișăm numărul obținut prin scăderea cu 1&lt;br /&gt;
        n &amp;amp;= n - 1 #  Resetăm cel mai nesemnificativ bit cu valoarea 1&lt;br /&gt;
    print(0)  # Afișăm și 0 la final&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citirea valorii pentru n de la tastatură&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul n: &amp;quot;)&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        n = int(n)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        resetare_bit(n)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4446</id>
		<title>3956 - Erase Bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4446"/>
		<updated>2023-04-25T16:18:51Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Dându-se un număr natural n, să se afle toate numerele obținute resetând succesiv cel mai nesemnificativ bit cu valoarea 1, fără a folosi variabile auxiliare.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran numerele.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 10^18&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 123&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
122 121 119 111 95 63 0&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 86&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 85 83 79 63 0&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4445</id>
		<title>3956 - Erase Bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3956_-_Erase_Bits&amp;diff=4445"/>
		<updated>2023-04-25T16:18:40Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Dându-se un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, să se afle toate numerele obținute resetând succesiv cel mai nesemnificativ bit cu valoarea &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, fără a folosi variabile auxiliare.  &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;  Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.  &amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;  Programul va afișa pe ecran numerele.  &amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;  &amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dându-se un număr natural &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;, să se afle toate numerele obținute resetând succesiv cel mai nesemnificativ bit cu valoarea &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, fără a folosi variabile auxiliare.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numărul &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran numerele.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 10^18&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 123&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
122 121 119 111 95 63 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 86&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 85 83 79 63 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4409</id>
		<title>4237 - Araci</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4409"/>
		<updated>2023-04-25T11:50:26Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Să se determine lungimea maximă &#039;&#039;&#039;L&#039;&#039;&#039; pe care o poate obține pentru cel puțin &#039;&#039;&#039;A&#039;&#039;&#039; araci tăind bambușii.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;n&#039;&#039;&#039; și &#039;&#039;&#039;A&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;, separate prin spații, reprezentând dimensiunile tulpinilor de bambus.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran &#039;&#039;&#039;L&#039;&#039;&#039;, reprezentând lungimea maximă posibilă a celor cel puțin A araci.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*3 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 100000&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;L&#039;&#039;&#039; &amp;amp;les; 30000&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4 1&lt;br /&gt;
: 6 10 14 9&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 14&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3&lt;br /&gt;
: 2&lt;br /&gt;
: 5 7 8 &lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 15&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, A, bamboos):&lt;br /&gt;
    n = str(n)  # Convertim n la șir de caractere&lt;br /&gt;
    return n.isdigit() and 3 &amp;lt;= int(n) &amp;lt;= 100000&lt;br /&gt;
&lt;br /&gt;
def calculate_max_length(n, A, bamboos):&lt;br /&gt;
    bamboos.sort()  # Se sortează lista de dimensiuni de bambus în ordine crescătoare&lt;br /&gt;
    max_length = 0  # Variabila pentru lungimea maximă&lt;br /&gt;
    count = 0  # Variabila pentru numărul de araci&lt;br /&gt;
    i = n - 1  # Indexul pentru parcurgerea listei de la sfârșit&lt;br /&gt;
    while i &amp;gt;= 0 and count &amp;lt; A:  # Se parcurge lista în ordine descrescătoare până când se obține numărul minim de araci&lt;br /&gt;
        max_length += bamboos[i]  # Se adaugă dimensiunea curentă de bambus la lungimea maximă&lt;br /&gt;
        count += 1  # Se incrementează numărul de araci&lt;br /&gt;
        i -= 1  # Se trece la următorul bambus&lt;br /&gt;
    return max_length  # Se returnează lungimea maximă&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    n = int(input(&amp;quot;Introduceti numarul de dimensiuni de bambus: &amp;quot;))&lt;br /&gt;
    A = int(input(&amp;quot;Introduceti numarul minim de araci: &amp;quot;))&lt;br /&gt;
    bamboos = list(map(int, input(&amp;quot;Introduceti dimensiunile separate prin spatii: &amp;quot;).split()))&lt;br /&gt;
    max_length = calculate_max_length(n, A, bamboos)&lt;br /&gt;
    print(&amp;quot;Lungimea maxima posibila:&amp;quot;, max_length)&lt;br /&gt;
&lt;br /&gt;
    if validare(n, A, bamboos):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4406</id>
		<title>4237 - Araci</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4406"/>
		<updated>2023-04-25T11:48:39Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Să se determine lungimea maximă L pe care o poate obține pentru cel puțin A araci tăind bambușii.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele n și A, iar apoi n numere naturale, separate prin spații, reprezentând dimensiunile tulpinilor de bambus.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran L, reprezentând lungimea maximă posibilă a celor cel puțin A araci.&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*3 &amp;amp;les; n &amp;amp;les; 100000&lt;br /&gt;
*1 &amp;amp;les; d &amp;amp;les; 30000&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4 1&lt;br /&gt;
: 6 10 14 9&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 14&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3&lt;br /&gt;
: 2&lt;br /&gt;
: 5 7 8 &lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 15&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4405</id>
		<title>4237 - Araci</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4237_-_Araci&amp;diff=4405"/>
		<updated>2023-04-25T11:48:28Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;  Să se determine lungimea maximă &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; pe care o poate obține pentru cel puțin &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; araci tăind bambușii.  &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;  Programul citește de la tastatură numerele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;A&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 dimensiunile tulpinilor de bambus.  &amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;  Programul va afișa pe ecran &amp;lt;code&amp;gt;L&amp;lt;/cod...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Să se determine lungimea maximă &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt; pe care o poate obține pentru cel puțin &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; araci tăind bambușii.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numerele &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;A&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 dimensiunile tulpinilor de bambus.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran &amp;lt;code&amp;gt;L&amp;lt;/code&amp;gt;, reprezentând lungimea maximă posibilă a celor cel puțin &amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt; araci.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;3 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 100000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; d &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 30000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6 10 14 9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 14&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5 7 8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4388</id>
		<title>0508 - Cautare Binara</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4388"/>
		<updated>2023-04-25T11:13:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
&lt;br /&gt;
Se dă un vector &#039;&#039;&#039;x&#039;&#039;&#039; cu n elemente numere naturale, ordonate crescător, și un vector &#039;&#039;&#039;y&#039;&#039;&#039; cu &#039;&#039;&#039;m&#039;&#039;&#039; elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului &#039;&#039;&#039;y&#039;&#039;&#039; dacă apare în &#039;&#039;&#039;x&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi cele &#039;&#039;&#039;n&#039;&#039;&#039; elemente ale vectorului &#039;&#039;&#039;x&#039;&#039;&#039;. Apoi și citește &#039;&#039;&#039;m&#039;&#039;&#039; și celem &#039;&#039;&#039;m&#039;&#039;&#039; elemente ale lui &#039;&#039;&#039;y&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran &#039;&#039;&#039;m&#039;&#039;&#039; valori 0 sau 1, separate prin exact un spațiu. A j-a valoare afișată este 1, dacă al j-lea element al șirului &#039;&#039;&#039;y&#039;&#039;&#039; apare în &#039;&#039;&#039;x,&#039;&#039;&#039; respectiv 0 în caz contrar.&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 25000&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;m&#039;&#039;&#039; &amp;amp;les; 25000&lt;br /&gt;
*elementele celor 2 vectori vor fi mai mici decât 10000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 2 4  6 8 10&lt;br /&gt;
: 3&lt;br /&gt;
: 4 7 9&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 1 0 0&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
: 1 5 7&lt;br /&gt;
&lt;br /&gt;
: 4&lt;br /&gt;
: 3 8 1 0&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 0 0 0 0 &lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, x, m, y):&lt;br /&gt;
    return str(n).isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 25000 and str(m).isdigit() and 1 &amp;lt;= int(m) &amp;lt;= 2000000&lt;br /&gt;
    # Verifică dacă n și m sunt cifre și se află în intervalul specificat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def element_in_vector(x, y):&lt;br /&gt;
    result = []  # Lista în care se vor stoca rezultatele verificării&lt;br /&gt;
    j = 0  # Variabilă utilizată pentru a parcurge vectorul x&lt;br /&gt;
    for i in range(len(y)):  # Se parcurge vectorul y&lt;br /&gt;
        while j &amp;lt; len(x) and x[j] &amp;lt; y[i]:  # Se parcurge vectorul x până la valoarea din y[i]&lt;br /&gt;
            j += 1&lt;br /&gt;
        if j &amp;lt; len(x) and x[j] == y[i]:  # Dacă s-a găsit o valoare din y în x, se adaugă 1 în result&lt;br /&gt;
            result.append(1)&lt;br /&gt;
        else:  # Altfel, se adaugă 0 în result&lt;br /&gt;
            result.append(0)&lt;br /&gt;
    return result  # Se returnează lista cu rezultatele verificării&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea vectorului x&lt;br /&gt;
    n = int(input(&amp;quot;Introduceți numărul de elemente în vectorul x: &amp;quot;))&lt;br /&gt;
    x = []&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        x.append(int(input(f&amp;quot;Introduceți elementul {i + 1} din x: &amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
    # Citirea vectorului y&lt;br /&gt;
    m = int(input(&amp;quot;Introduceți numărul de elemente în vectorul y: &amp;quot;))&lt;br /&gt;
    y = []&lt;br /&gt;
    for i in range(m):&lt;br /&gt;
        y.append(int(input(f&amp;quot;Introduceți elementul {i + 1} din y: &amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
    # Verificarea elementelor din y în x&lt;br /&gt;
    result = element_in_vector(x, y)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea rezultatului&lt;br /&gt;
    print(&amp;quot;Rezultatul verificării:&amp;quot;)&lt;br /&gt;
    print(*result, sep=&amp;quot; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if validare(n, x, m, y):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4358</id>
		<title>0508 - Cautare Binara</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4358"/>
		<updated>2023-04-25T10:55:22Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
&lt;br /&gt;
Se dă un vector x cu n elemente numere naturale, ordonate crescător, și un vector y cu m elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului y dacă apare în x.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale vectorului x. Apoi și citește m și cele m elemente ale lui y.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran m valori 0 sau 1, separate prin exact un spațiu. A j-a valoare afișată este 1, dacă al j-lea element al șirului y apare în x, respectiv 0 în caz contrar.&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; n &amp;amp;les; 25000&lt;br /&gt;
*1 &amp;amp;les; m &amp;amp;les; 25000&lt;br /&gt;
*elementele celor 2 vectori vor fi mai mici decât 10000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 7&lt;br /&gt;
: 1&lt;br /&gt;
: 2&lt;br /&gt;
: 5&lt;br /&gt;
: 6&lt;br /&gt;
: 9&lt;br /&gt;
: 10&lt;br /&gt;
: 14&lt;br /&gt;
: 8&lt;br /&gt;
: 8&lt;br /&gt;
: 14&lt;br /&gt;
: 9&lt;br /&gt;
:14&lt;br /&gt;
: 16&lt;br /&gt;
: 15&lt;br /&gt;
: 4&lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 0&lt;br /&gt;
: 1&lt;br /&gt;
: 1&lt;br /&gt;
: 1&lt;br /&gt;
: 0&lt;br /&gt;
: 0&lt;br /&gt;
: 0&lt;br /&gt;
: 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 1&lt;br /&gt;
: 5&lt;br /&gt;
: 7&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
: 3&lt;br /&gt;
: 8&lt;br /&gt;
: 1&lt;br /&gt;
: 0&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 0&lt;br /&gt;
: 0&lt;br /&gt;
: 1&lt;br /&gt;
: 0&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4357</id>
		<title>0508 - Cautare Binara</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0508_-_Cautare_Binara&amp;diff=4357"/>
		<updated>2023-04-25T10:55:11Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Pagină nouă: &amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;   Se dă un vector &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; cu n elemente numere naturale, ordonate crescător, și un vector &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039; cu &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului &amp;#039;&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;#039; dacă apare în &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;.  &amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;  Programul citește de la tastatură numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar apoi cele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; elemente ale vectorului &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;. Apoi și citește &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; și cele &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; elemente ale lui &amp;#039;&amp;#039;&amp;#039;y...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;nowiki&amp;gt;== Cerință ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Se dă un vector &#039;&#039;&#039;x&#039;&#039;&#039; cu n elemente numere naturale, ordonate crescător, și un vector &#039;&#039;&#039;y&#039;&#039;&#039; cu &#039;&#039;&#039;m&#039;&#039;&#039; elemente, de asemenea numere naturale. Verificați pentru fiecare element al vectorului &#039;&#039;&#039;y&#039;&#039;&#039; dacă apare în &#039;&#039;&#039;x&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de intrare ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi cele &#039;&#039;&#039;n&#039;&#039;&#039; elemente ale vectorului &#039;&#039;&#039;x&#039;&#039;&#039;. Apoi și citește &#039;&#039;&#039;m&#039;&#039;&#039; și cele &#039;&#039;&#039;m&#039;&#039;&#039; elemente ale lui &#039;&#039;&#039;y&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Date de ieșire ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Programul va afișa pe ecran m valori &#039;&#039;&#039;0 sau 1&#039;&#039;&#039;, separate prin exact un spațiu. A j-a valoare afișată este &#039;&#039;&#039;1&#039;&#039;&#039;, dacă al j-lea element al șirului &#039;&#039;&#039;y&#039;&#039;&#039; apare în &#039;&#039;&#039;x&#039;&#039;&#039;, respectiv &#039;&#039;&#039;0&#039;&#039;&#039; în caz contrar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Restricții de precizări ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; n &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 25000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;1 &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; m &amp;lt;nowiki&amp;gt;&amp;amp;&amp;lt;/nowiki&amp;gt;les; 25000&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;elementele celor 2 vectori vor fi mai mici decât 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 1==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 14&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 14&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;14&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 16&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Exemplul 2 ==&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Intrare&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 8&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;;&amp;lt;/nowiki&amp;gt; Ieșire&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== Rezolvare ver. 1 ==&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4277_-_Upper_Lower&amp;diff=4338</id>
		<title>4277 - Upper Lower</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4277_-_Upper_Lower&amp;diff=4338"/>
		<updated>2023-04-25T10:46:01Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Scrieți funcția cu următorul antet: UpperLower(a, U, L)&lt;br /&gt;
&lt;br /&gt;
Funcția primește ca parametri trei șiruri de caractere &#039;&#039;&#039;a, U și L&#039;&#039;&#039;. Șirul &#039;&#039;&#039;U&#039;&#039;&#039; trebuie să memoreze caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mici au fost convertite la majuscule, iar șirul &#039;&#039;&#039;L&#039;&#039;&#039; trebuie să memoreze caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mari au fost convertite la litere mici.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Se citește de la tastatură un șir de caractere.&lt;br /&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 de intrare corespund restricțiilor impuse.&amp;quot; &lt;br /&gt;
Șirul &#039;&#039;&#039;U&#039;&#039;&#039; memorează caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mici au fost convertite la majuscule, iar șirul &#039;&#039;&#039;L&#039;&#039;&#039; memorează caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mari au fost convertite la litere mici.&lt;br /&gt;
Va fi afișat &#039;&#039;&#039;U&#039;&#039;&#039; și &#039;&#039;&#039;L&#039;&#039;&#039;.  În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
&lt;br /&gt;
*Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate.&lt;br /&gt;
*Indexarea șirurilor începe de la 0&lt;br /&gt;
&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: I Am a Sith Lord&lt;br /&gt;
; Ieșire&lt;br /&gt;
: I AM A SITH LORD&lt;br /&gt;
: i am a sith lord&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare var. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(a, U, L):&lt;br /&gt;
    return all.isdigit() &lt;br /&gt;
&lt;br /&gt;
def UpperLower(a, U, L):&lt;br /&gt;
    # Această funcție primește un string &#039;a&#039; ca intrare și două stringuri goale &#039;U&#039; și &#039;L&#039; pentru a stoca caracterele majuscule și minuscule&lt;br /&gt;
    for c in a:&lt;br /&gt;
        if c.islower():&lt;br /&gt;
       # Dacă caracterul este literă mică, adaugă varianta sa majusculă în &#039;U&#039; și caracterul original în &#039;L&#039;&lt;br /&gt;
            U += c.upper()&lt;br /&gt;
            L += c&lt;br /&gt;
        elif c.isupper():&lt;br /&gt;
       # Dacă caracterul este literă mare, adaugă caracterul în &#039;U&#039; și varianta sa minuscule în &#039;L&#039;&lt;br /&gt;
            U += c&lt;br /&gt;
            L += c.lower()&lt;br /&gt;
        else:&lt;br /&gt;
            # Dacă caracterul nu este nici literă mare, nici literă mică (de exemplu, cifre, semne de punctuație etc.), adaugă-l atât în &#039;U&#039;, cât și în &#039;L&#039;&lt;br /&gt;
            U += c&lt;br /&gt;
            L += c&lt;br /&gt;
    # Returnează stringurile rezultate pentru literele majuscule și minuscule&lt;br /&gt;
    return U, L&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Obține input de la utilizator și elimină spațiile albe de la început și sfârșit&lt;br /&gt;
    a = input().strip()&lt;br /&gt;
    U = &amp;quot;&amp;quot;&lt;br /&gt;
    L = &amp;quot;&amp;quot;&lt;br /&gt;
    # Apelează funcția UpperLower cu stringul de intrare &#039;a&#039; și cu stringurile goale &#039;U&#039; și &#039;L&#039;&lt;br /&gt;
    U, L = UpperLower(a, U, L)&lt;br /&gt;
    # Afișează stringurile rezultate pentru literele majuscule și minuscule&lt;br /&gt;
    print(&amp;quot;U:&amp;quot;, U)&lt;br /&gt;
    print(&amp;quot;L:&amp;quot;, L)&lt;br /&gt;
    if validare(a, L ,U):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        UpperLower(a, U, L)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1479_-_Pretios&amp;diff=4274</id>
		<title>1479 - Pretios</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1479_-_Pretios&amp;diff=4274"/>
		<updated>2023-04-25T08:55:24Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Un număr natural în baza 10 se numește prețios dacă numărul de cifre ale sale din baza 2 este număr prim. Se dă un interval &#039;&#039;&#039;[a,b]&#039;&#039;&#039;. Determinați câte numere prețioase se află în acest interval.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;a&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran numărul &#039;&#039;&#039;x&#039;&#039;&#039;, reprezentând numărul de numere prețioase din intervalul dat. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;a, b&#039;&#039;&#039;  &amp;amp;les; 10.000.000.000.000.000.000&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 1&lt;br /&gt;
: 4&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 3&lt;br /&gt;
==Explicație==&lt;br /&gt;
Cele &#039;&#039;&#039;3&#039;&#039;&#039; numere prețioase sunt &#039;&#039;&#039;2 3 4&#039;&#039;&#039;.&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
import math&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def is_prime(n):&lt;br /&gt;
    # Funcție pentru verificarea primarității unui număr&lt;br /&gt;
    # Returnează True dacă numărul este prim, False în caz contrar&lt;br /&gt;
    if n &amp;lt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    for i in range(2, int(math.sqrt(n)) + 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 count_precious_numbers(a, b):&lt;br /&gt;
    # Funcție pentru numărarea numerele prețioase într-un interval dat [a, b]&lt;br /&gt;
    count = 0&lt;br /&gt;
    for num in range(a, b + 1):&lt;br /&gt;
        binary_digits = bin(num)[2:] # Conversia numărului la reprezentare binară și eliminarea prefixului &#039;0b&#039;&lt;br /&gt;
        if is_prime(len(binary_digits)): # Verificare dacă lungimea reprezentării binare a numărului este primă&lt;br /&gt;
            count += 1&lt;br /&gt;
    return count&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    a = int(input(&amp;quot;Introduceți numărul a: &amp;quot;)) # Citirea valorii numărului a de la tastatură și convertirea la tipul int&lt;br /&gt;
    b = int(input(&amp;quot;Introduceți numărul b: &amp;quot;)) # Citirea valorii numărului b de la tastatură și convertirea la tipul int&lt;br /&gt;
&lt;br /&gt;
    if 1 &amp;lt;= a &amp;lt;= b &amp;lt;= 10 ** 18: # Verificare validitate interval [a, b]&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        result = count_precious_numbers(a, b) # Apelarea funcției count_precious_numbers() pentru calcularea numărului de numere prețioase&lt;br /&gt;
        print(&amp;quot;Numărul de numere prețioase din intervalul dat este:&amp;quot;, result)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3957_-_Countercase&amp;diff=4273</id>
		<title>3957 - Countercase</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3957_-_Countercase&amp;diff=4273"/>
		<updated>2023-04-25T08:54:01Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Dându-se un număr natural &#039;&#039;&#039;n&#039;&#039;&#039; să se afle câte numere se pot obține folosind biții acestuia.Un număr natural x se obține folosind biții lui &#039;&#039;&#039;n&#039;&#039;&#039; dacă mulțimea biților setați ai lui x este inclusă în mulțimea biților setați ai lui &#039;&#039;&#039;n&#039;&#039;&#039;. De exemplu, pentru n = 5 reprezentarea binară este 101; x poate lua valorile 101, 100, 001, 000, adică 5, 4, 1, 0.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*&#039;&#039;&#039;n&#039;&#039;&#039; are cel mult 500 de cifre&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    # Funcție pentru validarea numărului de intrare&lt;br /&gt;
    # Returnează True dacă numărul este valid, False în caz contrar&lt;br /&gt;
    return n.isdigit() and int(n) &amp;lt;= 500&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def counterase(n):&lt;br /&gt;
    # Funcție pentru calcularea numărului de numere posibile&lt;br /&gt;
    numar_posibil = 0&lt;br /&gt;
&lt;br /&gt;
    for x in range(n + 1):&lt;br /&gt;
        if x &amp;amp; n == x:&lt;br /&gt;
            # Verificare dacă x &amp;amp; n == x, adică x reprezintă un submulțime a lui n în reprezentarea binară&lt;br /&gt;
            numar_posibil += 1&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Numarul de numere posibile este:&amp;quot;, numar_posibil)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti numarul n: &amp;quot;) # Citirea numărului de la tastatură&lt;br /&gt;
    if validare(n): # Verificare validitate numărului utilizând funcția validare()&lt;br /&gt;
        n = int(n) # Convertirea valorii numărului la tipul int&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        counterase(n) # Apelarea funcției counterase() pentru calcularea numărului de numere posibile&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2335_-_Bi_Binar&amp;diff=4272</id>
		<title>2335 - Bi Binar</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2335_-_Bi_Binar&amp;diff=4272"/>
		<updated>2023-04-25T08:51:43Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dau &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale. Fiecare număr dat se transformă în baza 2 şi se formează toate numerele de două cifre din scrierea acestuia binară, scriind cele două cifre în ordinea în care apar în scrierea binară. Toate aceste numere de două cifre binare se trec în baza 10 şi se face suma numerelor obţinute. Să se afle, pentru fiecare dintre cele &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale date, această sumă.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Fișierul de intrare bibinar.in conține pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe a doua linie &#039;&#039;&#039;n&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot;.&lt;br /&gt;
Fișierul de ieșire bibinar.out va conține pe prima linie cele &#039;&#039;&#039;n&#039;&#039;&#039; sume obţinute, separate prin spaţiu. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 10000&lt;br /&gt;
&lt;br /&gt;
*numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 1.000.000.000 şi mai mari decât 1&lt;br /&gt;
==Exemplu==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;bibinar.in&lt;br /&gt;
&lt;br /&gt;
:2&lt;br /&gt;
&lt;br /&gt;
:5 85&lt;br /&gt;
&lt;br /&gt;
;bibinar.out&lt;br /&gt;
:3 9&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    # Funcție pentru validarea numerelor de intrare&lt;br /&gt;
    # Returnează True dacă numărul este valid, False în caz contrar&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def bibinar():&lt;br /&gt;
    # Funcție pentru procesarea fișierului &amp;quot;bibinar.in&amp;quot; și generarea rezultatului în fișierul &amp;quot;bibinar.out&amp;quot;&lt;br /&gt;
    with open(&amp;quot;bibinar.in&amp;quot;) as f:&lt;br /&gt;
        n = f.readline().strip() # Citirea primului rând din fișier, reprezentând numărul de numere care urmează să fie procesate&lt;br /&gt;
        numbers = list(map(int, f.readline().split())) # Citirea al doilea rând din fișier, reprezentând lista de numere&lt;br /&gt;
&lt;br /&gt;
    if validare(n): # Verificare validitate numărului de numere de procesat utilizând funcția validare()&lt;br /&gt;
        n = int(n) # Convertirea valorii numărului la tipul int&lt;br /&gt;
        x = True&lt;br /&gt;
        for i in numbers:&lt;br /&gt;
            if str(i).isdigit():&lt;br /&gt;
                x = True&lt;br /&gt;
            else:&lt;br /&gt;
                x = False # Verificare dacă toate numerele din lista de numere sunt valide (reprezentate doar de cifre)&lt;br /&gt;
    results = []&lt;br /&gt;
    for num in numbers:&lt;br /&gt;
        binary = bin(num)[2:] # Convertirea fiecărui număr la reprezentarea binară și eliminarea prefixului &#039;0b&#039;&lt;br /&gt;
        pairs = [binary[i:i + 2] for i in range(len(binary) - 1)] # Impărțirea reprezentării binare în perechi de câte 2 cifre&lt;br /&gt;
        decimal = sum([int(pair, 2) for pair in pairs]) # Convertirea perechilor de cifre din baza 2 la baza 10 și calculul sumei lor&lt;br /&gt;
        results.append(decimal) # Adăugarea rezultatului la lista de rezultate&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;bibinar.out&amp;quot;, &amp;quot;w&amp;quot;) as f:&lt;br /&gt;
        f.write(&amp;quot; &amp;quot;.join(map(str, results))) # Scrierea rezultatelor în fișierul &amp;quot;bibinar.out&amp;quot;, separate prin spațiu&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    x = None # Inițializarea variabilei x cu None&lt;br /&gt;
    bibinar() # Apelarea funcției bibinar() pentru procesarea fișierului și generarea rezultatului&lt;br /&gt;
    if x: # Verificare valoare x (care nu este modificată în cod)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2872_-_Easy_Pow&amp;diff=4271</id>
		<title>2872 - Easy Pow</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2872_-_Easy_Pow&amp;diff=4271"/>
		<updated>2023-04-25T08:51:03Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă numărul natural n. Calculați &amp;lt;math&amp;gt;2^n&amp;lt;/math&amp;gt; , apoi afișați rezultatul în baza 2.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran numărul &amp;lt;math&amp;gt;2^n&amp;lt;/math&amp;gt;, conform cerinței. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizăr ==&lt;br /&gt;
*0 &amp;amp;les; n  &amp;amp;les; 10000&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 1&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 10&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare_date(n):&lt;br /&gt;
    # Funcție pentru validarea numerelor de intrare&lt;br /&gt;
    # Returnează True dacă numărul este valid, False în caz contrar&lt;br /&gt;
    return n.isdigit() and 0 &amp;lt;= int(n) &amp;lt;= 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def calcul(n):&lt;br /&gt;
    # Funcție pentru calcularea valorii 2 la puterea n în baza 2 și afișarea rezultatului&lt;br /&gt;
    rezultat = bin(2 ** n)[2:] # Convertirea rezultatului 2 la puterea n în baza 2 și eliminarea prefixului &#039;0b&#039;&lt;br /&gt;
    print(&amp;quot;2 la puterea&amp;quot;, n, &amp;quot;este&amp;quot;, rezultat, &amp;quot;în baza 2.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul: &amp;quot;) # Solicitare număr de la utilizator&lt;br /&gt;
&lt;br /&gt;
    if validare_date(n): # Verificare validitate număr utilizând funcția validare_date()&lt;br /&gt;
        n = int(n) # Convertirea valorii numărului la tipul int&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        calcul(n) # Apelarea funcției calcul() pentru a calcula și afișa rezultatul&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0426_-_Baza_B&amp;diff=4270</id>
		<title>0426 - Baza B</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0426_-_Baza_B&amp;diff=4270"/>
		<updated>2023-04-25T08:50:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dă un număr natural &#039;&#039;&#039;numar&#039;&#039;&#039; și o bază de numerație &#039;&#039;&#039;baza&#039;&#039;&#039;. Să se determine cea mai mare cifră a reprezentării lui &#039;&#039;&#039;numar&#039;&#039;&#039; în baza &#039;&#039;&#039;baza&#039;&#039;&#039;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură două numere naturale &#039;&#039;&#039;numar,  baza&#039;&#039;&#039; .&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul afișează pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;numar&#039;&#039;&#039;  &amp;amp;les; 1.000.000.000&lt;br /&gt;
&lt;br /&gt;
*2 &amp;amp;les; &#039;&#039;&#039;baza&#039;&#039;&#039;  &amp;amp;les; 10&lt;br /&gt;
&lt;br /&gt;
==Exemplu==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:878&lt;br /&gt;
&lt;br /&gt;
:6&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:4&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare_date(numar, baza):&lt;br /&gt;
    # Funcție pentru validarea numerelor de intrare&lt;br /&gt;
    # Returnează True dacă numerele sunt valide, False în caz contrar&lt;br /&gt;
    return numar.isdigit() and 1 &amp;lt;= int(numar) &amp;lt;= 10000 and baza.isdigit() and 1 &amp;lt;= int(baza) &amp;lt;= 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def max_cifra(numar, baza):&lt;br /&gt;
    # Funcție pentru calcularea și afișarea celei mai mari cifre într-un număr într-o anumită bază&lt;br /&gt;
    max_cifra = 0 # Variabila pentru stocarea celei mai mari cifre, inițializată cu 0&lt;br /&gt;
&lt;br /&gt;
    while numar &amp;gt; 0: # Parcurgerea cifrelor numărului până când acesta devine 0&lt;br /&gt;
        cifra = numar % baza # Obținerea ultimei cifre a numărului în baza specificată&lt;br /&gt;
        if cifra &amp;gt; max_cifra: # Compararea cifrei curente cu cea mai mare cifră găsită până acum&lt;br /&gt;
            max_cifra = cifra # Dacă cifra curentă este mai mare, o înlocuim pe cea mai mare cifră&lt;br /&gt;
        numar //= baza # Eliminarea ultimei cifre din număr, trecând la următoarea cifră în bază&lt;br /&gt;
&lt;br /&gt;
    print(max_cifra) # Afișarea celei mai mari cifre găsite&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    numar = input(&amp;quot;Introduceți numărul n: &amp;quot;) # Solicitare număr de la utilizator&lt;br /&gt;
    baza = input(&amp;quot;Introduceți baza de numerație b: &amp;quot;) # Solicitare bază de numerație de la utilizator&lt;br /&gt;
&lt;br /&gt;
    if validare_date(numar, baza): # Verificare validitate număr și bază utilizând funcția validare_date()&lt;br /&gt;
        numar, baza = int(numar), int(baza) # Convertirea valorilor număr și bază la tipul int&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        max_cifra(numar, baza) # Apelarea funcției max_cifra() pentru a calcula și afișa cea mai mare cifră&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0982_-_Puteri1&amp;diff=4269</id>
		<title>0982 - Puteri1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0982_-_Puteri1&amp;diff=4269"/>
		<updated>2023-04-25T08:49:11Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dau &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale. Aflați câte dintre acestea se pot scrie ca sumă de puteri distincte ale unui număr natural &#039;&#039;&#039;k&#039;&#039;&#039;.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;k și n&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran numărul de numere din șirul dat care se pot scrie ca sumă de puteri distincte ale lui &#039;&#039;&#039;k&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 10000&lt;br /&gt;
&lt;br /&gt;
*2 &amp;amp;les; &#039;&#039;&#039;k&#039;&#039;&#039; &amp;amp;les; 10&lt;br /&gt;
&lt;br /&gt;
*cele n numere citite vor fi mai mici decât 1.000.000&lt;br /&gt;
==Exemplu==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:6 &lt;br /&gt;
:37 &lt;br /&gt;
:12 &lt;br /&gt;
:9 &lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, k):&lt;br /&gt;
    # Funcție pentru validarea valorilor n și k&lt;br /&gt;
    # Returnează True dacă valorile sunt valide, False în caz contrar&lt;br /&gt;
    return 1 &amp;lt;= int(n) &amp;lt;= 100_000 and 2 &amp;lt;= int(k) &amp;lt;= 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def numar_puteri_distincte(n, k):&lt;br /&gt;
    # Funcție pentru calcularea numărului de puteri distincte&lt;br /&gt;
    nr = 0&lt;br /&gt;
    for i in range(1, n + 1):&lt;br /&gt;
        x = int(input(&amp;quot;numbers:&amp;quot;)) # Solicitare valoare de la utilizator pentru fiecare iterație&lt;br /&gt;
        c = 1&lt;br /&gt;
        while x != 0:&lt;br /&gt;
            if x % k &amp;gt; 1: # Verificare dacă restul împărțirii lui x la k este mai mare decât 1&lt;br /&gt;
                c = 0 # Dacă da, setează c la 0 și iesi din while&lt;br /&gt;
                break&lt;br /&gt;
            x //= k # Împărțirea lui x la k și reținerea partea întreagă&lt;br /&gt;
        if c:&lt;br /&gt;
            nr += 1 # Dacă c este nenul, incrementarea numărului de puteri distincte&lt;br /&gt;
    return nr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;n: &amp;quot;) # Solicitare valoare pentru n&lt;br /&gt;
    k = input(&amp;quot;k: &amp;quot;) # Solicitare valoare pentru k&lt;br /&gt;
    if validare(n, k): # Verificare validitate valori n și k utilizând funcția validare()&lt;br /&gt;
        n, k = int(n), int(k) # Convertirea valorilor n și k la tipul int&lt;br /&gt;
        x = numar_puteri_distincte(n, k) # Apelarea funcției numar_puteri_distincte() pentru a calcula numărul de puteri distincte&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        print(x) # Afișare rezultat&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0946_-_Doua_Baze&amp;diff=4268</id>
		<title>0946 - Doua Baze</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0946_-_Doua_Baze&amp;diff=4268"/>
		<updated>2023-04-25T08:47:43Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dă un număr &#039;&#039;&#039;n&#039;&#039;&#039; scris în baza 2. Să se afișeze valoarea acestuia în baza 4.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură scrierea în baza 2 a numărului &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran scrierea în baza 4 a numărului &#039;&#039;&#039;n&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*&#039;&#039;&#039;n&#039;&#039;&#039; are cel mult 100 de cifre în baza 2;&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 100011&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 203&lt;br /&gt;
=== Exemplul 2 ===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 11010110&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 3112&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    # Funcție care validează dacă numărul introdus este un număr binar valid&lt;br /&gt;
    return n.isdigit() and 0 &amp;lt;= len(n) &amp;lt;= 100&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def douabaze(n):&lt;br /&gt;
    # Funcție care convertește un număr din baza 2 în baza 4&lt;br /&gt;
    # Verificăm dacă lungimea numărului n este impară și, dacă da, adăugăm un 0 la început pentru a obține o lungime pară&lt;br /&gt;
    while len(n) % 2 != 0:&lt;br /&gt;
        n = &#039;0&#039; + n&lt;br /&gt;
    # Tabela de conversie din baza 2 în baza 4&lt;br /&gt;
    conversion_table = {&#039;00&#039;: &#039;0&#039;, &#039;01&#039;: &#039;1&#039;, &#039;10&#039;: &#039;2&#039;, &#039;11&#039;: &#039;3&#039;}&lt;br /&gt;
    # Rezultatul final în baza 4&lt;br /&gt;
    result = &#039;&#039;&lt;br /&gt;
    # Parcurgem numărul n în grupuri de câte 2 caractere și le convertim folosind tabela de conversie&lt;br /&gt;
    for i in range(0, len(n), 2):&lt;br /&gt;
        result += conversion_table[n[i:i + 2]]&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți un număr în baza 2: &amp;quot;)&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        # Apelăm funcția douabaze pentru a realiza conversia&lt;br /&gt;
        print(&amp;quot;Numărul în baza 4 este:&amp;quot;, douabaze(n))&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0945_-_Baze&amp;diff=4264</id>
		<title>0945 - Baze</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0945_-_Baze&amp;diff=4264"/>
		<updated>2023-04-25T08:44:26Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dă un număr &#039;&#039;&#039;n&#039;&#039;&#039; scris în baza &#039;&#039;&#039;b&#039;&#039;&#039;. Să se afișeze scrierea acestuia în baza &#039;&#039;&#039;c.&#039;&#039;&#039;&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;n, b și c&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran scrierea numărului &#039;&#039;&#039;n&#039;&#039;&#039; în baza &#039;&#039;&#039;c&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*2 &amp;amp;les; &#039;&#039;&#039;b, c&#039;&#039;&#039; &amp;amp;les; 10&lt;br /&gt;
&lt;br /&gt;
*numărul n este natural si are cel mult nouă cifre&lt;br /&gt;
&lt;br /&gt;
*rezolvarea acestei probleme necesită utilizarea tablourilor sau a altor forme de memorare a unui număr variabil de valori.&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:2013&lt;br /&gt;
&lt;br /&gt;
:4&lt;br /&gt;
&lt;br /&gt;
:7&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:252&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
=== Rezolvare ver. 1===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, b, c):&lt;br /&gt;
    # Verifică dacă n conține doar cifre valide pentru baza b și dacă n este între 0 și 999999999 în baza 10&lt;br /&gt;
    # Verifică de asemenea dacă b și c sunt între 2 și 10&lt;br /&gt;
    return all(digit.isdigit() and int(digit) &amp;lt; int(b) for digit in n) and 0 &amp;lt;= int(n, int(b)) &amp;lt;= 999999999 and 2 &amp;lt;= int(b) &amp;lt;= 10 and 2 &amp;lt;= int(c) &amp;lt;= 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def baze(n, b, c):&lt;br /&gt;
    n_baza_10 = int(n, b)  # Converteste numarul n din baza b in baza 10&lt;br /&gt;
    n_baza_c = format(n_baza_10, &#039;0&#039; + str(len(n)) + &#039;d&#039;)  # Converteste numarul din baza 10 in baza c si completeaza cu zerouri la stanga daca este necesar&lt;br /&gt;
    base_c_digits = &amp;quot;0123456789abcdefghijklmnopqrstuvwxyz&amp;quot;[:c]  # Defineste caracterele valide pentru baza c&lt;br /&gt;
    base_c_num = &amp;quot;&amp;quot;&lt;br /&gt;
    remainder = n_baza_10&lt;br /&gt;
    while remainder &amp;gt; 0:&lt;br /&gt;
        digit = base_c_digits[remainder % c]  # Obtine ultima cifra in baza c&lt;br /&gt;
        base_c_num = digit + base_c_num  # Adauga cifra la stanga numarului in baza c&lt;br /&gt;
        remainder //= c  # Actualizeaza catul pentru urmatoarea iteratie&lt;br /&gt;
    print(&amp;quot;Numărul {} în baza {} este {}&amp;quot;.format(n, c, int(base_c_num)))  # Afiseaza rezultatul final&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introdu numărul n: &amp;quot;)&lt;br /&gt;
    b = input(&amp;quot;Introdu baza b: &amp;quot;)&lt;br /&gt;
    c = input(&amp;quot;Introdu baza c: &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if validare(n, b, c):&lt;br /&gt;
        b, c = int(b), int(c)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        baze(n, b, c)  # Apeleaza functia pentru a afisa rezultatul final&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3349_-_Putere1&amp;diff=4262</id>
		<title>3349 - Putere1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3349_-_Putere1&amp;diff=4262"/>
		<updated>2023-04-25T08:41:38Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se dau numerele naturale &#039;&#039;&#039;b n p&#039;&#039;&#039;. Determinați numărul format din ultimele &#039;&#039;&#039;p&#039;&#039;&#039; cifre ale lui &amp;lt;math&amp;gt;b^n&amp;lt;/math&amp;gt;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;b n p&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran numărul format din ultimele p cifre ale lui &amp;lt;math&amp;gt;b^n&amp;lt;/math&amp;gt;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;b&#039;&#039;&#039;  &amp;amp;les; 1000000000&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039;  &amp;amp;les; 2^31&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;p&#039;&#039;&#039; &amp;amp;les; 9&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 2&lt;br /&gt;
: 10&lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 24&lt;br /&gt;
=== Exemplul 2 ===&lt;br /&gt;
; Intrare&lt;br /&gt;
: 123456789&lt;br /&gt;
: 5&lt;br /&gt;
: 3&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 949&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare vers. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(b, n, p):&lt;br /&gt;
    # Verifică dacă b, n și p sunt formate doar din cifre și dacă respectă restricțiile impuse&lt;br /&gt;
    return b.isdigit() and 1 &amp;lt;= int(b) &amp;lt;= 1000000000 and n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 2 ** 31 and p.isdigit() and 1 &amp;lt;= int(p) &amp;lt;= 9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def putere(b, n, p):&lt;br /&gt;
    result = str(b ** n)[-p:]  # Calculează rezultatul final ca ultimele p cifre din rezultatul b la puterea n&lt;br /&gt;
    print(int(result))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    b = input(&amp;quot;Introduceti numarul b: &amp;quot;)&lt;br /&gt;
    n = input(&amp;quot;Introduceti puterea n: &amp;quot;)&lt;br /&gt;
    p = input(&amp;quot;Introduceti numarul de cifre dorit: &amp;quot;)&lt;br /&gt;
    if validare(b, n, p):&lt;br /&gt;
        b, n, p = int(b), int(n), int(p)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        putere(b, n, p)  # Afișează rezultatul final&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3348_-_Suma_Puteri_2&amp;diff=4261</id>
		<title>3348 - Suma Puteri 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3348_-_Suma_Puteri_2&amp;diff=4261"/>
		<updated>2023-04-25T08:40:43Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dă un număr natural &#039;&#039;&#039;n&#039;&#039;&#039;. Descompuneți numărul &#039;&#039;&#039;n&#039;&#039;&#039; ca sumă de puteri ale lui 2.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran, în ordine crescătoare, separate prin câte un spațiu, puterile lui 2 care au suma &#039;&#039;&#039;n&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 2^31&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:43&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1&lt;br /&gt;
&lt;br /&gt;
:2&lt;br /&gt;
&lt;br /&gt;
:8&lt;br /&gt;
&lt;br /&gt;
:32&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    # Verifică dacă n este format doar din cifre și dacă este între 1 și 2^31 - 1&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt; pow(2, 31)&lt;br /&gt;
&lt;br /&gt;
def descompunere_in_puteri_de_2(n):&lt;br /&gt;
    puteri_de_2 = []  # Lista pentru a stoca puterile de 2&lt;br /&gt;
    k = 0  # Contorul puterilor de 2&lt;br /&gt;
    while 2 ** k &amp;lt;= n:  # Găsește cel mai mare exponent k pentru care 2^k este mai mic sau egal cu n&lt;br /&gt;
        k += 1&lt;br /&gt;
    k -= 1  # Scade 1 din k pentru a obține cel mai mare exponent valid&lt;br /&gt;
    while k &amp;gt;= 0:  # Descompune n în sumă de puteri de 2&lt;br /&gt;
        if 2 ** k &amp;lt;= n:&lt;br /&gt;
            puteri_de_2.append(2 ** k)  # Adaugă puterea de 2 la lista puteri_de_2&lt;br /&gt;
            n -= 2 ** k  # Scade puterea de 2 din n pentru a obține restul&lt;br /&gt;
        k -= 1  # Scade 1 din k pentru a trece la următorul exponent mai mic&lt;br /&gt;
    return puteri_de_2[::-1]  # Returnează lista puterilor de 2 în ordine descrescătoare&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul n: &amp;quot;)&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        n = int(n)&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        puteri_de_2 = descompunere_in_puteri_de_2(n)&lt;br /&gt;
        print(&amp;quot;{}&amp;quot;.format(&amp;quot;\n&amp;quot;.join(&lt;br /&gt;
            str(p) for p in puteri_de_2)))  # Afișează puterile de 2 separate pe linii&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0661_-_Triunghiuri1&amp;diff=4258</id>
		<title>0661 - Triunghiuri1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0661_-_Triunghiuri1&amp;diff=4258"/>
		<updated>2023-04-25T08:39:20Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se dau &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale distincte. Determinaţi câte triunghiuri distincte pot avea lungimile laturilor printre aceste numere.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi cele &#039;&#039;&#039;n&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; și programul va afișa pe ecran numărul C, reprezentând numărul de triunghiuri determinate. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039;  &amp;amp;les; 1000&lt;br /&gt;
&lt;br /&gt;
*cele &#039;&#039;&#039;n&#039;&#039;&#039; numere citite vor fi mai mici decât 1.000.000&lt;br /&gt;
==Exemplu==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
:3 5 10 7 6&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:7&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 1000  # Verificăm dacă input-ul este un număr valid între 1 și 1000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def triunghiuri1(n, lat):&lt;br /&gt;
    lat.sort()  # Sortăm lista de lungimi de laturi în ordine crescătoare.&lt;br /&gt;
    cnt = 0  # Inițializăm contorul la 0.&lt;br /&gt;
    for i in range(n - 2):  # Parcurgem lista până la penultimul element.&lt;br /&gt;
        for j in range(i + 1, n - 1):  # Parcurgem sublista începând de la al doilea element până la penultimul.&lt;br /&gt;
            a = lat[i]  # Alegem prima latură a triunghiului ca fiind elementul de pe poziția i în lista sortată.&lt;br /&gt;
            b = lat[j]  # Alegem a doua latură a triunghiului ca fiind elementul de pe poziția j în lista sortată.&lt;br /&gt;
            dr = n - 1  # Setăm indicele dreptului pe ultimul element din listă.&lt;br /&gt;
            st = j + 1  # Setăm indicele stângului pe poziția imediat următoare după j.&lt;br /&gt;
            while dr &amp;gt;= st:  # Cat timp dreapta nu a depășit stânga în parcurgerea listei.&lt;br /&gt;
                mij = (dr + st) // 2  # Calculăm mijlocul listei.&lt;br /&gt;
                if lat[mij] &amp;lt; a + b:  # Dacă suma celor trei laturi formează un triunghi valid.&lt;br /&gt;
                    st = mij + 1  # Avansăm în dreapta pentru a căuta valori mai mari care să formeze triunghiuri.&lt;br /&gt;
                else:&lt;br /&gt;
                    dr = mij - 1  # Altfel, avansăm în stânga pentru a căuta valori mai mici care să formeze triunghiuri.&lt;br /&gt;
            cnt += dr - j  # Adăugăm la contor diferența între dreapta și j, care reprezintă numărul de triunghiuri posibile.&lt;br /&gt;
&lt;br /&gt;
    print(cnt)  # Afișăm rezultatul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    x = None  # Inițializăm x la None.&lt;br /&gt;
    n = input()  # Citim valoarea lui n de la tastatură.&lt;br /&gt;
    lat = list(map(int, input().split()))  # Citim lista de lungimi de laturi de triunghi și o convertim la tipul int.&lt;br /&gt;
    if validare(n):  # Verificăm dacă valoarea introdusă corespunde restricțiilor impuse.&lt;br /&gt;
        for i in range(int(n)):  # Parcurgem valorile de la 0 la n-1.&lt;br /&gt;
            if str(i).isdigit() and i &amp;lt; 1_000_000:  # Verificăm dacă i este un număr valid și nu depășește 1_000_000.&lt;br /&gt;
                x = True  # Dacă da, x devine True.&lt;br /&gt;
            else:&lt;br /&gt;
                x = False  # Altfel, x devine False.&lt;br /&gt;
        if x is True&lt;br /&gt;
            print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            n = int(n)  # Convertim n la tipul int pentru a-l folosi în funcția triunghiuri1.&lt;br /&gt;
            triunghiuri1(n, lat)  # Apelăm funcția triunghiuri1 pentru a calcula numărul de triunghiuri posibile.&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2589_-_Set_Last_2&amp;diff=4257</id>
		<title>2589 - Set Last 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2589_-_Set_Last_2&amp;diff=4257"/>
		<updated>2023-04-25T08:35:59Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se citește un număr n într-o variabilă de tip întreg pe 16 biți cu semn. Setați la valoarea 1 cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
*-32768 &amp;amp;les; n &amp;amp;les; 32768&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 7&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 100&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 103&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 32767  # Verificăm dacă input-ul este un număr valid între 1 și 32767.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def setlast(n):&lt;br /&gt;
    # Setăm cei mai puțin semnificativi 2 biți la 1 folosind operatorul de bit OR.&lt;br /&gt;
    n = n | 3&lt;br /&gt;
    print(&amp;quot;Valoarea după setarea celor mai puțin semnificativi 2 biți la 1: &amp;quot;, n)  # Afișăm rezultatul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți un număr pe 16 biți cu semn: &amp;quot;)  # Citim valoarea numărului de la tastatură.&lt;br /&gt;
    if validare(n):  # Verificăm dacă valoarea introdusă corespunde restricțiilor impuse.&lt;br /&gt;
        n = int(n)  # Convertim valoarea într-un număr întreg.&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        setlast(n)  # Apelăm funcția setlast cu valoarea numărului.&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2799_-_Add_One&amp;diff=4256</id>
		<title>2799 - Add One</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2799_-_Add_One&amp;diff=4256"/>
		<updated>2023-04-25T08:32:02Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se citește un număr &#039;&#039;&#039;n&#039;&#039;&#039;. Să se calculeze &#039;&#039;&#039;n+1&#039;&#039;&#039;, folosind doar operatori pe biți.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Programul va afișa pe ecran numărul &#039;&#039;&#039;p&#039;&#039;&#039;, reprezentând valoarea lui &#039;&#039;&#039;n+1&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 10000&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:6&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:2&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    return n.isdigit() and 1 &amp;lt;= int(n) &amp;lt;= 10000  # Verificăm dacă input-ul este un număr valid între 1 și 10000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def add(n):  &lt;br /&gt;
    p = (n ^ 1) | 1  # Calculăm valoarea lui n+1 folosind doar operatori pe biți.&lt;br /&gt;
    print(&amp;quot;Valoarea lui n+1 =&amp;quot;, p)  # Afișăm rezultatul.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți valoarea lui n: &amp;quot;)  # Citim valoarea lui n de la tastatură.&lt;br /&gt;
    if validare(n):  # Verificăm dacă valoarea introdusă corespunde restricțiilor impuse.&lt;br /&gt;
        n = int(n)  # Convertim valoarea lui n într-un număr întreg.&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        add(n)  # Apelăm funcția add cu valoarea lui n.&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2735_-_Insert_Biti&amp;diff=4255</id>
		<title>2735 - Insert Biti</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2735_-_Insert_Biti&amp;diff=4255"/>
		<updated>2023-04-25T08:17:08Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Se citesc trei numere naturale &#039;&#039;&#039;n m i&#039;&#039;&#039;. Să se schimbe valorile biților lui &#039;&#039;&#039;n&#039;&#039;&#039; de la poziția &#039;&#039;&#039;i&#039;&#039;&#039; spre stânga, cu valorile biților lui &#039;&#039;&#039;m&#039;&#039;&#039; de la 0 până la cel mai semnificativ bit de 1 din &#039;&#039;&#039;m&#039;&#039;&#039; și apoi să se afișeze &#039;&#039;&#039;n&#039;&#039;&#039;.Numerotare biților se face de la dreapta spre stânga începând de la 0.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &#039;&#039;&#039;n, m și i&#039;&#039;&#039;, 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 de intrare corespund restricțiilor impuse.&amp;quot; Programul citește de la tastatură numerele &#039;&#039;&#039;n, m și i&#039;&#039;&#039;, separate prin spații. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
&lt;br /&gt;
* numerele &#039;&#039;&#039;n, m&#039;&#039;&#039; sunt se reprezintă pe 64 de biți, fără semn.&lt;br /&gt;
&lt;br /&gt;
* pozițiile biților sunt indexate de la 0.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5 &lt;br /&gt;
: 6 &lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 13&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 10101 &lt;br /&gt;
: 111 &lt;br /&gt;
: 3&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: 53&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n, m, i):&lt;br /&gt;
    return n.isdigit() and m.isdigit() and i.isdigit() and 1 &amp;lt;= int(n), int(m), int(i) &amp;lt;= pow(2, 63)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def lg_bit(n):&lt;br /&gt;
    return n.bit_length()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def insertbiti(n, m, i):&lt;br /&gt;
    # Gasim poziția celui mai semnificativ bit de 1 din m&lt;br /&gt;
    poziția = lg_bit(m) - 1&lt;br /&gt;
&lt;br /&gt;
    # Creăm o mască pentru a șterge biții lui n&lt;br /&gt;
    mask = (1 &amp;lt;&amp;lt; i) - 1&lt;br /&gt;
&lt;br /&gt;
    # Ștergem biții lui n de la poziția i în stânga&lt;br /&gt;
    n &amp;amp;= mask&lt;br /&gt;
&lt;br /&gt;
    # Copiem biții lui m în n&lt;br /&gt;
    n |= (m &amp;gt;&amp;gt; (poziția + 1 - i)) &amp;lt;&amp;lt; i&lt;br /&gt;
&lt;br /&gt;
    # Returnăm n-ul rezultat&lt;br /&gt;
    return n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceti n: &amp;quot;)&lt;br /&gt;
    m = input(&amp;quot;Introduceti m: &amp;quot;)&lt;br /&gt;
    i = input(&amp;quot;Introduceti i: &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    if validare(n, m, i):&lt;br /&gt;
        n = int(n)&lt;br /&gt;
        m = int(m)&lt;br /&gt;
        i = int(i)&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        rezultat = insertbiti(n, m, i)&lt;br /&gt;
        print(&amp;quot;Rezultatul este:&amp;quot;, rezultat)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2624_-_Inv_Bits&amp;diff=4254</id>
		<title>2624 - Inv Bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2624_-_Inv_Bits&amp;diff=4254"/>
		<updated>2023-04-25T08:15:43Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Dat fiind un număr natural &#039;&#039;&#039;n&#039;&#039;&#039;, să se determine numărul natural &#039;&#039;&#039;m&#039;&#039;&#039; care are are proprietatea că are în reprezentarea în baza 2 biți de 1 pe pozițiile unde n are biți de 0 și are biți de 0 pe pozițiile unde n are biți de 1. De exemplu, dacă n = 346, atunci m = 165, deoarece n se reprezintă în baza 2 prin 101011010, iar m prin 010100101.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Programul va afișa pe ecran numărul &#039;&#039;&#039;m&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*0 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 10000&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:346&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:165&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:255&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:0&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def validare(n):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Funcție pentru validarea unui număr n.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    return n.isdigit() and 0 &amp;lt;= int(n) &amp;lt;= 10000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def transform(n):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Funcție pentru transformarea unui număr n în forma sa complementară în baza 2.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    binary_n = bin(n)[2:]  # convertim numarul n in reprezentarea sa in baza 2 (binara)&lt;br /&gt;
    binary_list = list(binary_n)  # transformam sirul binar intr-o lista de caractere&lt;br /&gt;
&lt;br /&gt;
    inverted_list = [&amp;quot;1&amp;quot; if x == &amp;quot;0&amp;quot; else &amp;quot;0&amp;quot; for x in binary_list] # initializam un nou sir de caractere cu caracterele opuse&lt;br /&gt;
    inverted_binary_n = &amp;quot;&amp;quot;.join(inverted_list)  # convertim noul sir de caractere intr-un numar intreg&lt;br /&gt;
    m = int(inverted_binary_n, 2)&lt;br /&gt;
    &lt;br /&gt;
    print(&amp;quot;Numarul m este:&amp;quot;, m) # afisam numarul calculat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    n = input(&amp;quot;Introduceți numărul n: &amp;quot;)  # citim n de la tastatură&lt;br /&gt;
&lt;br /&gt;
    if validare(n):&lt;br /&gt;
        n = int(n)&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Datele introduse corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        transform(n)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2708_-_Verif_Paritate&amp;diff=4253</id>
		<title>2708 - Verif Paritate</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2708_-_Verif_Paritate&amp;diff=4253"/>
		<updated>2023-04-25T08:13:23Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Se citesc &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale. Determinați pentru fiecare dintre ele dacă este par sau impar.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n numere naturale&#039;&#039;&#039;.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot; Programul va afișa pe ecran &#039;&#039;&#039;n&#039;&#039;&#039; valori &#039;&#039;&#039;0&#039;&#039;&#039; sau &#039;&#039;&#039;1&#039;&#039;&#039;, separate prin spații. Dacă numărul corespunzător este par se va afișa &#039;&#039;&#039;0&#039;&#039;&#039;, iar dacă este impar se va afișa &#039;&#039;&#039;1&#039;&#039;&#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les;  1000&lt;br /&gt;
&lt;br /&gt;
*se recomandă utilizarea operațiilor pe biți&lt;br /&gt;
&lt;br /&gt;
*cele n numere citite se pot reprezenta pe 64 de biți, fără semn;&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:1 2 3 &lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1 0 1 &lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:4&lt;br /&gt;
&lt;br /&gt;
:4 10 7 0&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:0 0 1 0&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def este_par_sau_impar(numar):&lt;br /&gt;
    #funcție care determină dacă un număr este par sau impar&lt;br /&gt;
    if numar % 2 == 0:&lt;br /&gt;
        return 0  # Returnează 0 pentru numere pare&lt;br /&gt;
    else:&lt;br /&gt;
        return 1  # Returnează 1 pentru numere impare&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        n = int(input(&amp;quot;Introduceți numărul de numere naturale: &amp;quot;))  # Citirea numărului de numere de la tastatură&lt;br /&gt;
        if n &amp;lt;= 0:&lt;br /&gt;
            print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            numere = []&lt;br /&gt;
            for i in range(n):&lt;br /&gt;
                numar = int(input(f&amp;quot;Introduceți numărul {i+1}: &amp;quot;))  # Citirea fiecărui număr din lista de numere&lt;br /&gt;
                numere.append(numar)  # Adăugarea numărului citit în lista de numere&lt;br /&gt;
&lt;br /&gt;
            # Verificăm dacă fiecare număr din listă este par sau impar și afișăm rezultatul corespunzător&lt;br /&gt;
            for numar in numere:&lt;br /&gt;
                print(este_par_sau_impar(numar), end=&amp;quot; &amp;quot;)  # Afișarea rezultatului returnat de funcția este_par_sau_impar&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)  # Gestionarea excepției în cazul în care datele introduse nu sunt numere&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;Datele introduse nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4252</id>
		<title>2999 - Trim</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2999_-_Trim&amp;diff=4252"/>
		<updated>2023-04-25T07:17:44Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Am modificat codul.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Cerință==&lt;br /&gt;
Scrieți un program care citește de la tastatură trei numere naturale &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; și afișează:&lt;br /&gt;
&lt;br /&gt;
* câte  submulțimi sunt formate dintr-un număr de elemente pare (cardinalul submulțimilor este un număr par)&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a elementelor din submulțimile cu număr de ordine &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; (0 &amp;lt; k ≤ r ≤ 100)&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea,     al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul va citi de la tastatură &#039;&#039;&#039;n&#039;&#039;&#039;, &#039;&#039;&#039;k&#039;&#039;&#039; și &#039;&#039;&#039;r&#039;&#039;&#039; 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 de intrare corespund restricțiilor impuse.&amp;quot; &lt;br /&gt;
Se afișează fiecare pe câte o linie:&lt;br /&gt;
&lt;br /&gt;
* numărul     de submulțimi cu număr de elemente pare&lt;br /&gt;
&lt;br /&gt;
* media  aritmetică a numerelor din submulțimile &#039;&#039;&#039;k și r&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* elementele  submulțimii r sub forma: primul, al doilea, ultimul, al treilea, al patrulea, penultimul, etc.&lt;br /&gt;
&lt;br /&gt;
În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Restricții de precizări==&lt;br /&gt;
*1 &amp;amp;les; &#039;&#039;&#039;k&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;r&#039;&#039;&#039; &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; 100&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
&lt;br /&gt;
:10&lt;br /&gt;
&lt;br /&gt;
:3&lt;br /&gt;
&lt;br /&gt;
:7&lt;br /&gt;
&lt;br /&gt;
;Ieșire&lt;br /&gt;
&lt;br /&gt;
:Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
&lt;br /&gt;
:1024&lt;br /&gt;
&lt;br /&gt;
:5&lt;br /&gt;
&lt;br /&gt;
:3 5 7 9&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ver. 1 ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def numar_submultimi_pare(n):&lt;br /&gt;
    # Calculează numărul de submulțimi cu cardinalitatea pară&lt;br /&gt;
    return 2 ** n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def medie_submultimi(submultimi, k, r):&lt;br /&gt;
    # Calculează media aritmetică a elementelor din submulțimile k și r&lt;br /&gt;
    # Dacă k și r sunt în afara intervalului corect, returnează None&lt;br /&gt;
    if k &amp;lt; 1 or r &amp;gt; len(submultimi) or k &amp;gt; r:&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultimi_k_r = submultimi[k-1:r:2]  # obține submulțimile de la k la r, cu pași de 2&lt;br /&gt;
        medie = sum(submultimi_k_r) / len(submultimi_k_r)&lt;br /&gt;
        return medie&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def submultime_specifica(submultimi, r):&lt;br /&gt;
    # Obține elementele submulțimii r sub forma specificată&lt;br /&gt;
    if r &amp;gt; len(submultimi):&lt;br /&gt;
        return None&lt;br /&gt;
    else:&lt;br /&gt;
        submultime_r = submultimi[r-1::2]  # obține elementele submulțimii r, cu pași de 2&lt;br /&gt;
        return submultime_r&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Citirea datelor de intrare de la tastatură&lt;br /&gt;
    n = int(input(&amp;quot;Introduceți numărul total de elemente: &amp;quot;))&lt;br /&gt;
    k = int(input(&amp;quot;Introduceți numărul de ordine k: &amp;quot;))&lt;br /&gt;
    r = int(input(&amp;quot;Introduceți numărul de ordine r: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    # Verificare restricții&lt;br /&gt;
    if not (0 &amp;lt; k &amp;lt;= r &amp;lt;= 100):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        # Obținere număr de submulțimi cu cardinalitatea pară&lt;br /&gt;
        numar_submultimi_pare = numar_submultimi_pare(n)&lt;br /&gt;
        print(&amp;quot;Numărul de submulțimi cu cardinalitatea pară:&amp;quot;, numar_submultimi_pare)&lt;br /&gt;
&lt;br /&gt;
        # Generare submulțimi&lt;br /&gt;
        submultimi = list(range(1, n+1))&lt;br /&gt;
&lt;br /&gt;
        # Obținere medie aritmetică&lt;br /&gt;
        medie = medie_submultimi(submultimi, k, r)&lt;br /&gt;
        if medie is not None:&lt;br /&gt;
            print(&amp;quot;Media aritmetică a numerelor din submulțimile k și r:&amp;quot;, medie)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate calcula media aritmetică pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # Obținere submulțime specifică&lt;br /&gt;
        submultime_specifica = submultime_specifica(submultimi, r)&lt;br /&gt;
        if submultime_specifica is not None:&lt;br /&gt;
            print(&amp;quot;Elementele submulțimii r sub forma specificată:&amp;quot;, submultime_specifica)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nu se poate obține submulțimea specificată pentru valorile introduse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=4277_-_Upper_Lower&amp;diff=4251</id>
		<title>4277 - Upper Lower</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=4277_-_Upper_Lower&amp;diff=4251"/>
		<updated>2023-04-25T06:49:07Z</updated>

		<summary type="html">&lt;p&gt;Carla Chereji: Am pus comentarii.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerință ==&lt;br /&gt;
Scrieți funcția cu următorul antet: UpperLower(a, U, L)&lt;br /&gt;
&lt;br /&gt;
Funcția primește ca parametri trei șiruri de caractere &#039;&#039;&#039;a, U și L&#039;&#039;&#039;. Șirul &#039;&#039;&#039;U&#039;&#039;&#039; trebuie să memoreze caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mici au fost convertite la majuscule, iar șirul &#039;&#039;&#039;L&#039;&#039;&#039; trebuie să memoreze caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mari au fost convertite la litere mici.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Se citește de la tastatură un șir de caractere.&lt;br /&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 de intrare corespund restricțiilor impuse.&amp;quot; &lt;br /&gt;
Șirul &#039;&#039;&#039;U&#039;&#039;&#039; memorează caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mici au fost convertite la majuscule, iar șirul &#039;&#039;&#039;L&#039;&#039;&#039; memorează caracterele din &#039;&#039;&#039;a&#039;&#039;&#039;, dar în care literele mari au fost convertite la litere mici.&lt;br /&gt;
Va fi afișat &#039;&#039;&#039;U&#039;&#039;&#039; și &#039;&#039;&#039;L&#039;&#039;&#039;.  În caz contrar, se va afișa pe ecran: &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Restricții de precizări ==&lt;br /&gt;
&lt;br /&gt;
*Șirul a poate conține și alte caractere în afară de litere, dar acestea rămân nemodificate.&lt;br /&gt;
*Indexarea șirurilor începe de la 0&lt;br /&gt;
&lt;br /&gt;
==Exemplu==&lt;br /&gt;
=== Exemplul 1===&lt;br /&gt;
; Intrare&lt;br /&gt;
: I Am a Sith Lord&lt;br /&gt;
; Ieșire&lt;br /&gt;
: I AM A SITH LORD&lt;br /&gt;
: i am a sith lord&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
=== Rezolvare var. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot; start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def UpperLower(a, U, L):&lt;br /&gt;
    # Această funcție primește un string &#039;a&#039; ca intrare și două stringuri goale &#039;U&#039; și &#039;L&#039; pentru a stoca caracterele majuscule și minuscule&lt;br /&gt;
    for c in a:&lt;br /&gt;
        if c.islower():&lt;br /&gt;
       # Dacă caracterul este literă mică, adaugă varianta sa majusculă în &#039;U&#039; și caracterul original în &#039;L&#039;&lt;br /&gt;
            U += c.upper()&lt;br /&gt;
            L += c&lt;br /&gt;
        elif c.isupper():&lt;br /&gt;
       # Dacă caracterul este literă mare, adaugă caracterul în &#039;U&#039; și varianta sa minuscule în &#039;L&#039;&lt;br /&gt;
            U += c&lt;br /&gt;
            L += c.lower()&lt;br /&gt;
        else:&lt;br /&gt;
            # Dacă caracterul nu este nici literă mare, nici literă mică (de exemplu, cifre, semne de punctuație etc.), adaugă-l atât în &#039;U&#039;, cât și în &#039;L&#039;&lt;br /&gt;
            U += c&lt;br /&gt;
            L += c&lt;br /&gt;
    # Returnează stringurile rezultate pentru literele majuscule și minuscule&lt;br /&gt;
    return U, L&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    # Obține input de la utilizator și elimină spațiile albe de la început și sfârșit&lt;br /&gt;
    a = input().strip()&lt;br /&gt;
    U = &amp;quot;&amp;quot;&lt;br /&gt;
    L = &amp;quot;&amp;quot;&lt;br /&gt;
    # Apelează funcția UpperLower cu stringul de intrare &#039;a&#039; și cu stringurile goale &#039;U&#039; și &#039;L&#039;&lt;br /&gt;
    U, L = UpperLower(a, U, L)&lt;br /&gt;
    # Afișează stringurile rezultate pentru literele majuscule și minuscule&lt;br /&gt;
    print(&amp;quot;U:&amp;quot;, U)&lt;br /&gt;
    print(&amp;quot;L:&amp;quot;, L)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Carla Chereji</name></author>
	</entry>
</feed>