<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1611_-_Palindrom_2</id>
	<title>1611 - Palindrom 2 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1611_-_Palindrom_2"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;action=history"/>
	<updated>2026-05-01T10:57:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4701&amp;oldid=prev</id>
		<title>Tamas Claudia at 16:12, 26 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4701&amp;oldid=prev"/>
		<updated>2023-04-26T16:12:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:12, 26 April 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. palindromurile asociate pentru cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere citite.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;3. palindromurile asociate pentru cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere citite.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Date de intrare ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Date de intrare ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dacă datele sunt introduse corect, pe ecran se va afișa: &#039;&#039;&#039;&quot;Datele sunt introduse corect.&quot;&#039;&#039;&#039;, apoi, fișierul &lt;/del&gt;de intrare &#039;&#039;&#039;palindrom2.in&#039;&#039;&#039; conține pe prima linie un număr &#039;&#039;&#039;C&#039;&#039;&#039;. Pentru toate testele, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/del&gt;C&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/del&gt;poate lua numai valorile 1, 2 sau 3. Pe a doua linie se află numărul &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;numar&#039;&#039;&#039;&lt;/del&gt;, iar pe a treia linie cele &#039;&#039;&#039;numar&#039;&#039;&#039; numere naturale despărțite prin câte un spațiu. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;În caz contrar, pe ecran se va afișa: &#039;&#039;&#039;&quot;Datele nu au fost introduse corect.&quot;&#039;&#039;&#039;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Fișierul &lt;/ins&gt;de intrare &#039;&#039;&#039;palindrom2.in&#039;&#039;&#039; conține pe prima linie un număr &#039;&#039;&#039;C&#039;&#039;&#039;. Pentru toate testele, C poate lua numai valorile 1, 2 sau 3. Pe a doua linie se află numărul &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;n&lt;/ins&gt;, iar pe a treia linie cele &#039;&#039;&#039;numar&#039;&#039;&#039; numere naturale despărțite prin câte un spațiu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Date de ieșire ==  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Date de ieșire ==  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Fișierul &lt;/del&gt;de ieșire &#039;&#039;&#039;palindrom2.out&#039;&#039;&#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dacă datele sunt introduse corect, pe ecran se va afișa: &#039;&#039;&#039;&quot;Datele sunt introduse corect.&quot;&#039;&#039;&#039;, apoi, fișierul &lt;/ins&gt;de ieșire &#039;&#039;&#039;palindrom2.out&#039;&#039;&#039;:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=1&amp;#039;&amp;#039;&amp;#039;, va conține un singur număr natural reprezentând numărul de numere palindrom din șir&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=1&amp;#039;&amp;#039;&amp;#039;, va conține un singur număr natural reprezentând numărul de numere palindrom din șir&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=2&amp;#039;&amp;#039;&amp;#039;, va conține numărul de numere din șir care sunt aproape palindrom&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=2&amp;#039;&amp;#039;&amp;#039;, va conține numărul de numere din șir care sunt aproape palindrom&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=3&amp;#039;&amp;#039;&amp;#039;, va conține numerele palindrom asociate celor n numere din șir, separate prin câte un spațiu&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* dacă &amp;#039;&amp;#039;&amp;#039;C=3&amp;#039;&amp;#039;&amp;#039;, va conține numerele palindrom asociate celor n numere din șir, separate prin câte un spațiu&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;În caz contrar, pe ecran se va afișa: &#039;&#039;&#039;&quot;Datele nu au fost introduse corect.&quot;&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Restricţii şi precizări ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Restricţii şi precizări ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;1 ≤ numar ≤ 10.000&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;1 ≤ numar ≤ 10.000&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tamas Claudia</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4687&amp;oldid=prev</id>
		<title>Tamas Claudia at 16:07, 26 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4687&amp;oldid=prev"/>
		<updated>2023-04-26T16:07:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:07, 26 April 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l103&quot;&gt;Line 103:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 103:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Explicație rezolvare ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Explicație rezolvare ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Prima definiție de funcție &#039;&#039;&#039;verifica_datele&#039;&#039;&#039; primește doi parametri, &#039;&#039;&#039;numar&#039;&#039;&#039; și &#039;&#039;&#039;numere&#039;&#039;&#039;, și verifică dacă numărul este între 1 și 10000, apoi verifică dacă lista numere are lungimea egală cu numar. În cele din urmă, verifică dacă fiecare element din lista numere este între 1 și 2000000000, și returnează &#039;&#039;&#039;True&#039;&#039;&#039; dacă toate aceste verificări sunt adevărate, altfel returnează &#039;&#039;&#039;False&#039;&#039;&#039;.&amp;lt;br&amp;gt;A doua definiție de funcție, &#039;&#039;&#039;este_palindrom&#039;&#039;&#039;, primește un parametru &#039;&#039;&#039;nr&#039;&#039;&#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui nr este egală cu aceeași reprezentare inversată. Returnează &#039;&#039;&#039;True&#039;&#039;&#039; dacă este palindrom și &#039;&#039;&#039;False&#039;&#039;&#039; altfel.&amp;lt;br&amp;gt;A treia definiție de funcție, &#039;&#039;&#039;este_aproape_palindrom&#039;&#039;&#039;, primește un parametru &#039;&#039;&#039;nr&#039;&#039;&#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui &#039;&#039;&#039;nr&#039;&#039;&#039; este aproape palindrom. Pentru a fi aproape palindrom, trebuie să aibă cel mult o singură cifră cu o singură apariție (adică o cifră impară de exemplu), iar restul cifrelor trebuie să aibă un număr par de apariții. Returnează True dacă este aproape palindrom sau False altfel.&amp;lt;br&amp;gt;În final, if __name__ == &#039;__main__&#039;: verifică dacă acest script este rulat ca program principal (adica nu importat ca modul), și apoi deschide fișierul &#039;&#039;&#039;palindrom2.in&#039;&#039;&#039;, citește primul număr c, al doilea număr numar, și lista de numere numere din fișier. Verifică apoi cu &#039;&#039;&#039;verifica_datele&#039;&#039;&#039; dacă datele citite din fișier sunt valide.&amp;lt;br&amp;gt;În caz afirmativ, în funcție de valoarea lui &#039;&#039;&#039;c&#039;&#039;&#039; (1, 2 sau 3), calculează numărul de palindroame sau de aproape palindroame din lista numere, sau listează palindroamele asociate fiecărui element din numere, și scrie rezultatul în fișierul &#039;&#039;&#039;palindrom2.out&#039;&#039;&#039;. Dacă datele citite din fișier nu sunt valide, afișează un mesaj de eroare.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Prima definiție de funcție &#039;&#039;&#039;verifica_datele&#039;&#039;&#039; primește doi parametri, &#039;&#039;&#039;numar&#039;&#039;&#039; și &#039;&#039;&#039;numere&#039;&#039;&#039;, și verifică dacă numărul este între 1 și 10000, apoi verifică dacă lista numere are lungimea egală cu numar. În cele din urmă, verifică dacă fiecare element din lista numere este între 1 și 2000000000, și returnează &#039;&#039;&#039;True&#039;&#039;&#039; dacă toate aceste verificări sunt adevărate, altfel returnează &#039;&#039;&#039;False&#039;&#039;&#039;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&amp;lt;br&amp;gt;A doua definiție de funcție, &#039;&#039;&#039;este_palindrom&#039;&#039;&#039;, primește un parametru &#039;&#039;&#039;nr&#039;&#039;&#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui nr este egală cu aceeași reprezentare inversată. Returnează &#039;&#039;&#039;True&#039;&#039;&#039; dacă este palindrom și &#039;&#039;&#039;False&#039;&#039;&#039; altfel.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&amp;lt;br&amp;gt;A treia definiție de funcție, &#039;&#039;&#039;este_aproape_palindrom&#039;&#039;&#039;, primește un parametru &#039;&#039;&#039;nr&#039;&#039;&#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui &#039;&#039;&#039;nr&#039;&#039;&#039; este aproape palindrom. Pentru a fi aproape palindrom, trebuie să aibă cel mult o singură cifră cu o singură apariție (adică o cifră impară de exemplu), iar restul cifrelor trebuie să aibă un număr par de apariții. Returnează True dacă este aproape palindrom sau False altfel.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&amp;lt;br&amp;gt;În final, if __name__ == &#039;__main__&#039;: verifică dacă acest script este rulat ca program principal (adica nu importat ca modul), și apoi deschide fișierul &#039;&#039;&#039;palindrom2.in&#039;&#039;&#039;, citește primul număr c, al doilea număr numar, și lista de numere numere din fișier. Verifică apoi cu &#039;&#039;&#039;verifica_datele&#039;&#039;&#039; dacă datele citite din fișier sunt valide.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&amp;lt;br&amp;gt;În caz afirmativ, în funcție de valoarea lui &#039;&#039;&#039;c&#039;&#039;&#039; (1, 2 sau 3), calculează numărul de palindroame sau de aproape palindroame din lista numere, sau listează palindroamele asociate fiecărui element din numere, și scrie rezultatul în fișierul &#039;&#039;&#039;palindrom2.out&#039;&#039;&#039;. Dacă datele citite din fișier nu sunt valide, afișează un mesaj de eroare.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tamas Claudia</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4680&amp;oldid=prev</id>
		<title>Tamas Claudia: Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/1611/palindrom2] ---- == Cerinţa == Scrieţi un program care citind un număr natural nenul &#039;&#039;&#039;numar&#039;&#039;&#039; și apoi un șir de &#039;&#039;&#039;numar&#039;&#039;&#039; numere naturale determină: 1. câte dintre cele &#039;&#039;&#039;numar&#039;&#039;&#039; numere sunt palindrom 2. câte dintre cele &#039;&#039;&#039;numar&#039;&#039;&#039; numere sunt aproape palindrom 3. palindromurile asociate pentru cele &#039;&#039;&#039;numar&#039;&#039;&#039; numere citite. == Date de intrare == Dacă datele sunt introduse corect, pe ecran se va afișa: &#039;&#039;&#039;&quot;Datele...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1611_-_Palindrom_2&amp;diff=4680&amp;oldid=prev"/>
		<updated>2023-04-26T16:05:07Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/1611/palindrom2] ---- == Cerinţa == Scrieţi un program care citind un număr natural nenul &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și apoi un șir de &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere naturale determină: 1. câte dintre cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere sunt palindrom 2. câte dintre cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere sunt aproape palindrom 3. palindromurile asociate pentru cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere citite. == Date de intrare == Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/1611/palindrom2]&lt;br /&gt;
----&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Scrieţi un program care citind un număr natural nenul &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și apoi un șir de &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere naturale determină:&lt;br /&gt;
1. câte dintre cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere sunt palindrom&lt;br /&gt;
2. câte dintre cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere sunt aproape palindrom&lt;br /&gt;
3. palindromurile asociate pentru cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere citite.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele sunt introduse corect.&amp;quot;&amp;#039;&amp;#039;&amp;#039;, apoi, fișierul de intrare &amp;#039;&amp;#039;&amp;#039;palindrom2.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie un număr &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;. Pentru toate testele, &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039; poate lua numai valorile 1, 2 sau 3. Pe a doua linie se află numărul &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039;, iar pe a treia linie cele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; numere naturale despărțite prin câte un spațiu. În caz contrar, pe ecran se va afișa: &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele nu au fost introduse corect.&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;palindrom2.out&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* dacă &amp;#039;&amp;#039;&amp;#039;C=1&amp;#039;&amp;#039;&amp;#039;, va conține un singur număr natural reprezentând numărul de numere palindrom din șir&lt;br /&gt;
* dacă &amp;#039;&amp;#039;&amp;#039;C=2&amp;#039;&amp;#039;&amp;#039;, va conține numărul de numere din șir care sunt aproape palindrom&lt;br /&gt;
* dacă &amp;#039;&amp;#039;&amp;#039;C=3&amp;#039;&amp;#039;&amp;#039;, va conține numerele palindrom asociate celor n numere din șir, separate prin câte un spațiu&lt;br /&gt;
&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1 ≤ numar ≤ 10.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; ≤ numerele din șir ≤ &amp;#039;&amp;#039;&amp;#039;2.000.000.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Inserarea la începutul numărului se poate realiza doar dacă cifra inserată este diferită de &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
; palindrom2.in&lt;br /&gt;
: 2&lt;br /&gt;
: 4&lt;br /&gt;
: 5442 2445 545 39995&lt;br /&gt;
; Ecran&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
; palindrom2.out&lt;br /&gt;
: 3&lt;br /&gt;
== Explicație ==&lt;br /&gt;
Cele 3 numere aproape palindrom sunt 5442, 2445 și 39995. (C fiind 2, se rezolvă doar a doua cerință)&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# 1611&lt;br /&gt;
&lt;br /&gt;
def verifica_datele(numar, numere):&lt;br /&gt;
    if numar &amp;lt; 1 or numar &amp;gt; 10000:&lt;br /&gt;
        return False&lt;br /&gt;
    if len(numere) != numar:&lt;br /&gt;
        return False&lt;br /&gt;
    for nr in numere:&lt;br /&gt;
        if nr &amp;lt; 1 or nr &amp;gt; 2000000000:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def este_palindrom(nr):&lt;br /&gt;
    nr_str = str(nr)&lt;br /&gt;
    return nr_str == nr_str[::-1]&lt;br /&gt;
&lt;br /&gt;
def este_aproape_palindrom(nr):&lt;br /&gt;
    nr_str = str(nr)&lt;br /&gt;
    cifre = {}&lt;br /&gt;
    for cifra in nr_str:&lt;br /&gt;
        cifre[cifra] = cifre.get(cifra, 0) + 1&lt;br /&gt;
    doua_cifre = 0&lt;br /&gt;
    o_cifra = 0&lt;br /&gt;
    for cifra, aparitii in cifre.items():&lt;br /&gt;
        if aparitii &amp;gt;= 2:&lt;br /&gt;
            if aparitii % 2 == 0:&lt;br /&gt;
                doua_cifre += 1&lt;br /&gt;
            else:&lt;br /&gt;
                o_cifra += 1&lt;br /&gt;
        if doua_cifre &amp;gt; 1 or o_cifra &amp;gt; 1:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    with open(&amp;#039;palindrom2.in&amp;#039;, &amp;#039;r&amp;#039;) as f:&lt;br /&gt;
        c = int(f.readline())&lt;br /&gt;
        numar = int(f.readline())&lt;br /&gt;
        numere = list(map(int, f.readline().split()))&lt;br /&gt;
    &lt;br /&gt;
    if verifica_datele(numar, numere):&lt;br /&gt;
        if c == 1:&lt;br /&gt;
            nr_palindroame = sum(1 for nr in numere if este_palindrom(nr))&lt;br /&gt;
            with open(&amp;#039;palindrom2.out&amp;#039;, &amp;#039;w&amp;#039;) as g:&lt;br /&gt;
                g.write(str(nr_palindroame))&lt;br /&gt;
        elif c == 2:&lt;br /&gt;
            nr_aproape_palindroame = sum(1 for nr in numere if este_aproape_palindrom(nr))&lt;br /&gt;
            with open(&amp;#039;palindrom2.out&amp;#039;, &amp;#039;w&amp;#039;) as g:&lt;br /&gt;
                g.write(str(nr_aproape_palindroame))&lt;br /&gt;
        elif c == 3:&lt;br /&gt;
            palindroame_asociate = []&lt;br /&gt;
            for nr in numere:&lt;br /&gt;
                i = nr + 1&lt;br /&gt;
                while not este_palindrom(i):&lt;br /&gt;
                    i += 1&lt;br /&gt;
                palindroame_asociate.append(i)&lt;br /&gt;
            with open(&amp;#039;palindrom2.out&amp;#039;, &amp;#039;w&amp;#039;) as g:&lt;br /&gt;
                g.write(&amp;#039; &amp;#039;.join(str(p) for p in palindroame_asociate))&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele nu au fost introduse corect.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicație rezolvare ==&lt;br /&gt;
&lt;br /&gt;
Prima definiție de funcție &amp;#039;&amp;#039;&amp;#039;verifica_datele&amp;#039;&amp;#039;&amp;#039; primește doi parametri, &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;numere&amp;#039;&amp;#039;&amp;#039;, și verifică dacă numărul este între 1 și 10000, apoi verifică dacă lista numere are lungimea egală cu numar. În cele din urmă, verifică dacă fiecare element din lista numere este între 1 și 2000000000, și returnează &amp;#039;&amp;#039;&amp;#039;True&amp;#039;&amp;#039;&amp;#039; dacă toate aceste verificări sunt adevărate, altfel returnează &amp;#039;&amp;#039;&amp;#039;False&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt;A doua definiție de funcție, &amp;#039;&amp;#039;&amp;#039;este_palindrom&amp;#039;&amp;#039;&amp;#039;, primește un parametru &amp;#039;&amp;#039;&amp;#039;nr&amp;#039;&amp;#039;&amp;#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui nr este egală cu aceeași reprezentare inversată. Returnează &amp;#039;&amp;#039;&amp;#039;True&amp;#039;&amp;#039;&amp;#039; dacă este palindrom și &amp;#039;&amp;#039;&amp;#039;False&amp;#039;&amp;#039;&amp;#039; altfel.&amp;lt;br&amp;gt;A treia definiție de funcție, &amp;#039;&amp;#039;&amp;#039;este_aproape_palindrom&amp;#039;&amp;#039;&amp;#039;, primește un parametru &amp;#039;&amp;#039;&amp;#039;nr&amp;#039;&amp;#039;&amp;#039; și verifică dacă reprezentarea sub formă de șir de caractere a lui &amp;#039;&amp;#039;&amp;#039;nr&amp;#039;&amp;#039;&amp;#039; este aproape palindrom. Pentru a fi aproape palindrom, trebuie să aibă cel mult o singură cifră cu o singură apariție (adică o cifră impară de exemplu), iar restul cifrelor trebuie să aibă un număr par de apariții. Returnează True dacă este aproape palindrom sau False altfel.&amp;lt;br&amp;gt;În final, if __name__ == &amp;#039;__main__&amp;#039;: verifică dacă acest script este rulat ca program principal (adica nu importat ca modul), și apoi deschide fișierul &amp;#039;&amp;#039;&amp;#039;palindrom2.in&amp;#039;&amp;#039;&amp;#039;, citește primul număr c, al doilea număr numar, și lista de numere numere din fișier. Verifică apoi cu &amp;#039;&amp;#039;&amp;#039;verifica_datele&amp;#039;&amp;#039;&amp;#039; dacă datele citite din fișier sunt valide.&amp;lt;br&amp;gt;În caz afirmativ, în funcție de valoarea lui &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; (1, 2 sau 3), calculează numărul de palindroame sau de aproape palindroame din lista numere, sau listează palindroamele asociate fiecărui element din numere, și scrie rezultatul în fișierul &amp;#039;&amp;#039;&amp;#039;palindrom2.out&amp;#039;&amp;#039;&amp;#039;. Dacă datele citite din fișier nu sunt valide, afișează un mesaj de eroare.&lt;/div&gt;</summary>
		<author><name>Tamas Claudia</name></author>
	</entry>
</feed>