<?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=1083_-_Sir_5</id>
	<title>1083 - Sir 5 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1083_-_Sir_5"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1083_-_Sir_5&amp;action=history"/>
	<updated>2026-05-01T10:58:11Z</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=1083_-_Sir_5&amp;diff=3862&amp;oldid=prev</id>
		<title>Tamas Claudia at 19:07, 19 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1083_-_Sir_5&amp;diff=3862&amp;oldid=prev"/>
		<updated>2023-04-19T19:07:20Z</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 19:07, 19 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-l101&quot;&gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&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;&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; 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;    Funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039; generează un șir numeric de lungime &#039;&#039;&#039;n&#039;&#039;&#039; conform regulii specificate în enunțul problemei. Regula de generare presupune că primul termen al șirului este 1, iar fiecare termen nou se obține prin inversarea cifrelor ultimului termen până la prima apariție a cifrei 1 în acel termen. Termenii din șir sunt stocați într-o listă sir, care este returnată de funcție.&amp;lt;br&amp;gt; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/del&gt;Funcția &#039;&#039;&#039;sumaTermeniMici(n, k)&#039;&#039;&#039; primește ca argumente numărul &#039;&#039;&#039;n&#039;&#039;&#039; și numărul &#039;&#039;&#039;k&#039;&#039;&#039; și returnează suma termenilor din primii &#039;&#039;&#039;n&#039;&#039;&#039; termeni ai șirului care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre. Șirul numeric este generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Funcția parcurge lista de termeni și adaugă la suma toți termenii care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;succesorulTermenului(x)&#039;&#039;&#039; primește ca argument un index &#039;&#039;&#039;x&#039;&#039;&#039; și returnează al &#039;&#039;&#039;x&#039;&#039;&#039;-lea termen din șirul numeric generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Pentru a găsi al x-lea termen, funcția apelează genereazaSir(x+1) și returnează elementul de pe poziția x din lista returnată.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;numaraTermeniCuA(a, b)&#039;&#039;&#039; primește ca argumente două cifre &#039;&#039;&#039;a&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039; și numără numărul de termeni din primii 1000 de termeni ai șirului care încep cu cifra a și nu conțin cifra b. Pentru a număra termenii care respectă această condiție, funcția parcurge lista de termeni și numără termenii care îndeplinesc condițiile impuse.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;main()&#039;&#039;&#039; citește datele din fișierul &quot;sir5.in&quot; și verifică dacă acestea respectă condițiile impuse. Dacă datele sunt corecte, funcția calculează răspunsurile la cele trei probleme și le scrie în fișierul &#039;&#039;&#039;&quot;sir5.out&quot;&#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;    Funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039; generează un șir numeric de lungime &#039;&#039;&#039;n&#039;&#039;&#039; conform regulii specificate în enunțul problemei. Regula de generare presupune că primul termen al șirului este 1, iar fiecare termen nou se obține prin inversarea cifrelor ultimului termen până la prima apariție a cifrei 1 în acel termen. Termenii din șir sunt stocați într-o listă sir, care este returnată de funcție.&amp;lt;br&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/ins&gt;Funcția &#039;&#039;&#039;sumaTermeniMici(n, k)&#039;&#039;&#039; primește ca argumente numărul &#039;&#039;&#039;n&#039;&#039;&#039; și numărul &#039;&#039;&#039;k&#039;&#039;&#039; și returnează suma termenilor din primii &#039;&#039;&#039;n&#039;&#039;&#039; termeni ai șirului care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre. Șirul numeric este generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Funcția parcurge lista de termeni și adaugă la suma toți termenii care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;succesorulTermenului(x)&#039;&#039;&#039; primește ca argument un index &#039;&#039;&#039;x&#039;&#039;&#039; și returnează al &#039;&#039;&#039;x&#039;&#039;&#039;-lea termen din șirul numeric generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Pentru a găsi al x-lea termen, funcția apelează genereazaSir(x+1) și returnează elementul de pe poziția x din lista returnată.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;numaraTermeniCuA(a, b)&#039;&#039;&#039; primește ca argumente două cifre &#039;&#039;&#039;a&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039; și numără numărul de termeni din primii 1000 de termeni ai șirului care încep cu cifra a și nu conțin cifra b. Pentru a număra termenii care respectă această condiție, funcția parcurge lista de termeni și numără termenii care îndeplinesc condițiile impuse.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;main()&#039;&#039;&#039; citește datele din fișierul &quot;sir5.in&quot; și verifică dacă acestea respectă condițiile impuse. Dacă datele sunt corecte, funcția calculează răspunsurile la cele trei probleme și le scrie în fișierul &#039;&#039;&#039;&quot;sir5.out&quot;&#039;&#039;&#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=1083_-_Sir_5&amp;diff=3861&amp;oldid=prev</id>
		<title>Tamas Claudia at 19:07, 19 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1083_-_Sir_5&amp;diff=3861&amp;oldid=prev"/>
		<updated>2023-04-19T19:07:02Z</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 19:07, 19 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-l101&quot;&gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&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;&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; 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;    Funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039; generează un șir numeric de lungime &#039;&#039;&#039;n&#039;&#039;&#039; conform regulii specificate în enunțul problemei. Regula de generare presupune că primul termen al șirului este 1, iar fiecare termen nou se obține prin inversarea cifrelor ultimului termen până la prima apariție a cifrei 1 în acel termen. Termenii din șir sunt stocați într-o listă sir, care este returnată de funcție.&amp;lt;br&amp;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;    Funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039; generează un șir numeric de lungime &#039;&#039;&#039;n&#039;&#039;&#039; conform regulii specificate în enunțul problemei. Regula de generare presupune că primul termen al șirului este 1, iar fiecare termen nou se obține prin inversarea cifrelor ultimului termen până la prima apariție a cifrei 1 în acel termen. Termenii din șir sunt stocați într-o listă sir, care este returnată de funcție.&amp;lt;br&amp;gt; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;   &lt;/ins&gt;Funcția &#039;&#039;&#039;sumaTermeniMici(n, k)&#039;&#039;&#039; primește ca argumente numărul &#039;&#039;&#039;n&#039;&#039;&#039; și numărul &#039;&#039;&#039;k&#039;&#039;&#039; și returnează suma termenilor din primii &#039;&#039;&#039;n&#039;&#039;&#039; termeni ai șirului care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre. Șirul numeric este generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Funcția parcurge lista de termeni și adaugă la suma toți termenii care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;succesorulTermenului(x)&#039;&#039;&#039; primește ca argument un index &#039;&#039;&#039;x&#039;&#039;&#039; și returnează al &#039;&#039;&#039;x&#039;&#039;&#039;-lea termen din șirul numeric generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Pentru a găsi al x-lea termen, funcția apelează genereazaSir(x+1) și returnează elementul de pe poziția x din lista returnată.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;numaraTermeniCuA(a, b)&#039;&#039;&#039; primește ca argumente două cifre &#039;&#039;&#039;a&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039; și numără numărul de termeni din primii 1000 de termeni ai șirului care încep cu cifra a și nu conțin cifra b. Pentru a număra termenii care respectă această condiție, funcția parcurge lista de termeni și numără termenii care îndeplinesc condițiile impuse.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;main()&#039;&#039;&#039; citește datele din fișierul &quot;sir5.in&quot; și verifică dacă acestea respectă condițiile impuse. Dacă datele sunt corecte, funcția calculează răspunsurile la cele trei probleme și le scrie în fișierul &#039;&#039;&#039;&quot;sir5.out&quot;&#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;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  &lt;/del&gt;Funcția &#039;&#039;&#039;sumaTermeniMici(n, k)&#039;&#039;&#039; primește ca argumente numărul &#039;&#039;&#039;n&#039;&#039;&#039; și numărul &#039;&#039;&#039;k&#039;&#039;&#039; și returnează suma termenilor din primii &#039;&#039;&#039;n&#039;&#039;&#039; termeni ai șirului care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre. Șirul numeric este generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Funcția parcurge lista de termeni și adaugă la suma toți termenii care au cel mult &#039;&#039;&#039;k&#039;&#039;&#039; cifre.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;succesorulTermenului(x)&#039;&#039;&#039; primește ca argument un index &#039;&#039;&#039;x&#039;&#039;&#039; și returnează al &#039;&#039;&#039;x&#039;&#039;&#039;-lea termen din șirul numeric generat utilizând funcția &#039;&#039;&#039;genereazaSir(n)&#039;&#039;&#039;. Pentru a găsi al x-lea termen, funcția apelează genereazaSir(x+1) și returnează elementul de pe poziția x din lista returnată.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;numaraTermeniCuA(a, b)&#039;&#039;&#039; primește ca argumente două cifre &#039;&#039;&#039;a&#039;&#039;&#039; și &#039;&#039;&#039;b&#039;&#039;&#039; și numără numărul de termeni din primii 1000 de termeni ai șirului care încep cu cifra a și nu conțin cifra b. Pentru a număra termenii care respectă această condiție, funcția parcurge lista de termeni și numără termenii care îndeplinesc condițiile impuse.&amp;lt;br&amp;gt;   Funcția &#039;&#039;&#039;main()&#039;&#039;&#039; citește datele din fișierul &quot;sir5.in&quot; și verifică dacă acestea respectă condițiile impuse. Dacă datele sunt corecte, funcția calculează răspunsurile la cele trei probleme și le scrie în fișierul &#039;&#039;&#039;&quot;sir5.out&quot;&#039;&#039;&#039;.&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;/table&gt;</summary>
		<author><name>Tamas Claudia</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1083_-_Sir_5&amp;diff=3860&amp;oldid=prev</id>
		<title>Tamas Claudia: Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/1083/sir5] ---- == Cerinţa == Se generează un şir de numere naturale ai cărui primi termeni sunt, în ordine:&#039;&#039;&#039;1, 12, 21, 123, 231, 312, 1234, 2341, 3412, 4123, 12345, 23451,...&#039;&#039;&#039; &lt;br&gt; Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale &#039;&#039;&#039;k&#039;&#039;&#039;, &#039;&#039;&#039;x&#039;&#039;&#039;, &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039; şi care să determine: a) ultima cifră a sumei tuturor termenilor şirului care sunt for...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1083_-_Sir_5&amp;diff=3860&amp;oldid=prev"/>
		<updated>2023-04-19T19:06:44Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/1083/sir5] ---- == Cerinţa == Se generează un şir de numere naturale ai cărui primi termeni sunt, în ordine:&amp;#039;&amp;#039;&amp;#039;1, 12, 21, 123, 231, 312, 1234, 2341, 3412, 4123, 12345, 23451,...&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt; Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039; şi care să determine: a) ultima cifră a sumei tuturor termenilor şirului care sunt for...&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/1083/sir5]&lt;br /&gt;
----&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Se generează un şir de numere naturale ai cărui primi termeni sunt, în ordine:&amp;#039;&amp;#039;&amp;#039;1, 12, 21, 123, 231, 312, 1234, 2341, 3412, 4123, 12345, 23451,...&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt; Deduceţi regula după care sunt generaţi termenii şirului şi scrieţi un program care să citească numerele naturale &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039; şi care să determine:&lt;br /&gt;
a) ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; cifre;&lt;br /&gt;
b) succesorul termenului &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; în şirul dat, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; fiind un termen al şirului;&lt;br /&gt;
c) numărul de termeni ai şirului care au cifra cea mai semnificativă egală cu &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi nu conţin în scrierea lor cifra &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;sir5.in&amp;#039;&amp;#039;&amp;#039; conţine o singură linie pe care sunt scrise cele patru numere naturale &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, separate prin câte un spaţiu.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele sunt introduse corect.&amp;quot;&amp;#039;&amp;#039;&amp;#039;, apoi, fișierul de ieșire sir5.out va conține 3 linii: pe prima linie se va scrie un număr natural reprezentând ultima cifră a sumei tuturor termenilor şirului care sunt formaţi din cel mult &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; cifre; pe a doua linie se va scrie un număr natural reprezentând succesorul termenului &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; în şirul dat; pe a treia linie se va scrie un număr natural reprezentând numărul de termeni ai şirului care au cifra cea mai semnificativă egală cu &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi nu conţin în scrierea lor cifra &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* Numerele &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039; sunt naturale nenule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; ≤ &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; ≤ &amp;#039;&amp;#039;&amp;#039;9&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; este un termen al şirului din enunţ şi are succesor în şir&lt;br /&gt;
* succesorul termenului &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; în şir este termenul care urmează imediat după &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; (de exemplu, dacă &amp;#039;&amp;#039;&amp;#039;x=2341&amp;#039;&amp;#039;&amp;#039; atunci succesorului lui &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; în şir este &amp;#039;&amp;#039;&amp;#039;3412&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; ≤ &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; &amp;lt; &amp;#039;&amp;#039;&amp;#039;900000000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;1 ≤ a ≤ 9; 1 ≤ b ≤ 9; a ≠ b&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* cifra cea mai semnificativă a unui număr natural este prima cifră din scrierea sa, de la stânga la dreapta (de exemplu cifra cea mai semnificativă a numărului 32156 este 3)&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
; sir5.in&lt;br /&gt;
: 3 45123 3 6&lt;br /&gt;
; Ecran&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
; sir5.out&lt;br /&gt;
: 0&lt;br /&gt;
: 51234&lt;br /&gt;
: 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# 1083&lt;br /&gt;
&lt;br /&gt;
def genereazaSir(n):&lt;br /&gt;
    sir = [1]&lt;br /&gt;
    while len(sir) &amp;lt; n:&lt;br /&gt;
        lastTerm = sir[-1]&lt;br /&gt;
        newTerm = int(str(lastTerm)[::-1])&lt;br /&gt;
        for i in range(len(str(lastTerm))):&lt;br /&gt;
            if newTerm % 10 == 1:&lt;br /&gt;
                newTerm //= 10&lt;br /&gt;
            else:&lt;br /&gt;
                break&lt;br /&gt;
        sir.append(newTerm)&lt;br /&gt;
    return sir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def sumaTermeniMici(n, k):&lt;br /&gt;
    sir = genereazaSir(n)&lt;br /&gt;
    suma = 0&lt;br /&gt;
    for termen in sir:&lt;br /&gt;
        if termen &amp;lt;= 10 ** k - 1:&lt;br /&gt;
            suma += termen&lt;br /&gt;
    return suma % 10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def succesorulTermenului(x):&lt;br /&gt;
    sir = genereazaSir(x + 1)&lt;br /&gt;
    return sir[x]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def numaraTermeniCuA(a, b):&lt;br /&gt;
    sir = genereazaSir(10 ** 3)  # putem opri la 10^3 deoarece cel mai mare termen are 9 cifre&lt;br /&gt;
    numara = 0&lt;br /&gt;
    for termen in sir:&lt;br /&gt;
        if str(termen)[0] == str(a) and str(b) not in str(termen):&lt;br /&gt;
            numara += 1&lt;br /&gt;
    return numara&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;sir5.in&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        k, x, a, b = map(int, f.readline().split())&lt;br /&gt;
        if not (1 &amp;lt;= k &amp;lt;= 9 and 1 &amp;lt;= x &amp;lt; 900000000 and 1 &amp;lt;= a &amp;lt;= 9 and 1 &amp;lt;= b &amp;lt;= 9 and a != b):&lt;br /&gt;
            print(&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            return&lt;br /&gt;
    print(&amp;quot;Datele sunt introduse corect.&amp;quot;)&lt;br /&gt;
    with open(&amp;quot;sir5.out&amp;quot;, &amp;quot;w&amp;quot;) as f:&lt;br /&gt;
        f.write(str(sumaTermeniMici(len(genereazaSir(100)), k)) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
        f.write(str(succesorulTermenului(x)) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
        f.write(str(numaraTermeniCuA(a, b)) + &amp;quot;\n&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;
&lt;br /&gt;
&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;
   Funcția &amp;#039;&amp;#039;&amp;#039;genereazaSir(n)&amp;#039;&amp;#039;&amp;#039; generează un șir numeric de lungime &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; conform regulii specificate în enunțul problemei. Regula de generare presupune că primul termen al șirului este 1, iar fiecare termen nou se obține prin inversarea cifrelor ultimului termen până la prima apariție a cifrei 1 în acel termen. Termenii din șir sunt stocați într-o listă sir, care este returnată de funcție.&amp;lt;br&amp;gt; &lt;br /&gt;
  Funcția &amp;#039;&amp;#039;&amp;#039;sumaTermeniMici(n, k)&amp;#039;&amp;#039;&amp;#039; primește ca argumente numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; și numărul &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; și returnează suma termenilor din primii &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; termeni ai șirului care au cel mult &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; cifre. Șirul numeric este generat utilizând funcția &amp;#039;&amp;#039;&amp;#039;genereazaSir(n)&amp;#039;&amp;#039;&amp;#039;. Funcția parcurge lista de termeni și adaugă la suma toți termenii care au cel mult &amp;#039;&amp;#039;&amp;#039;k&amp;#039;&amp;#039;&amp;#039; cifre.&amp;lt;br&amp;gt;   Funcția &amp;#039;&amp;#039;&amp;#039;succesorulTermenului(x)&amp;#039;&amp;#039;&amp;#039; primește ca argument un index &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; și returnează al &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;-lea termen din șirul numeric generat utilizând funcția &amp;#039;&amp;#039;&amp;#039;genereazaSir(n)&amp;#039;&amp;#039;&amp;#039;. Pentru a găsi al x-lea termen, funcția apelează genereazaSir(x+1) și returnează elementul de pe poziția x din lista returnată.&amp;lt;br&amp;gt;   Funcția &amp;#039;&amp;#039;&amp;#039;numaraTermeniCuA(a, b)&amp;#039;&amp;#039;&amp;#039; primește ca argumente două cifre &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039; și numără numărul de termeni din primii 1000 de termeni ai șirului care încep cu cifra a și nu conțin cifra b. Pentru a număra termenii care respectă această condiție, funcția parcurge lista de termeni și numără termenii care îndeplinesc condițiile impuse.&amp;lt;br&amp;gt;   Funcția &amp;#039;&amp;#039;&amp;#039;main()&amp;#039;&amp;#039;&amp;#039; citește datele din fișierul &amp;quot;sir5.in&amp;quot; și verifică dacă acestea respectă condițiile impuse. Dacă datele sunt corecte, funcția calculează răspunsurile la cele trei probleme și le scrie în fișierul &amp;#039;&amp;#039;&amp;#039;&amp;quot;sir5.out&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Tamas Claudia</name></author>
	</entry>
</feed>