<?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=3324_-_Eratostene0</id>
	<title>3324 - Eratostene0 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3324_-_Eratostene0"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3324_-_Eratostene0&amp;action=history"/>
	<updated>2026-05-01T06:41:47Z</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=3324_-_Eratostene0&amp;diff=5680&amp;oldid=prev</id>
		<title>Csula Beatrice at 14:18, 30 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3324_-_Eratostene0&amp;diff=5680&amp;oldid=prev"/>
		<updated>2023-04-30T14:18:52Z</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 14:18, 30 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-l93&quot;&gt;Line 93:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 93:&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;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 colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;==Explicaţie cod==&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;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;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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/syntaxhighlight&amp;gt;&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;Acest cod calculează suma divizorilor pentru intervale de numere date în fișierul &#039;&#039;&#039;eratostene0.in&#039;&#039;&#039; și scrie sumele corespunzătoare în fișierul &#039;&#039;&#039;eratostene0.out&#039;&#039;&#039;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;Funcția &#039;&#039;&#039;conform_restrictiilor()&#039;&#039;&#039; citeste datele din fișier și verifică dacă sunt în limitele impuse de restricțiile problemei. Apoi, returnează numerele citite din fișier într-un vector și numărul de intervale de numere.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;Funcția &#039;&#039;&#039;eratostene()&#039;&#039;&#039; primește vectorul și numărul de intervale de numere ca parametri. Apoi, pentru fiecare interval de numere, calculează suma divizorilor pentru fiecare număr în interval și o scrie în fișierul de ieșire.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;Spre deosebire de numărul prim, suma divizorilor unui număr nu poate fi determinată cu un algoritm eficient. De aceea, se verifică fiecare divizor de la 1 la numărul în cauză și se adaugă la suma dacă divizează numărul.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Csula Beatrice</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3324_-_Eratostene0&amp;diff=1840&amp;oldid=prev</id>
		<title>Csula Beatrice: Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/3324/eratostene0 - Eratostene0] ---- == Cerinţa == Se dau &#039;&#039;&#039;n&#039;&#039;&#039; perechi de numere naturale &#039;&#039;&#039;(i, j)&#039;&#039;&#039;, cu &#039;&#039;&#039;i ≤ j&#039;&#039;&#039;. Pentru fiecare pereche trebuie să aflați &#039;&#039;&#039;suma&#039;&#039;&#039; divizorilor tuturor numerelor din șirul i, i + 1, ..., j. == Date de intrare == Fișierul de intrare &#039;&#039;&#039;eratostene0.in&#039;&#039;&#039; conține pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe următoarele n linii câte două numere naturale i(1) j(1), i(2) j(2), …, i(n) j(n). ==...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3324_-_Eratostene0&amp;diff=1840&amp;oldid=prev"/>
		<updated>2023-03-26T18:57:04Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/3324/eratostene0 - Eratostene0] ---- == Cerinţa == Se dau &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; perechi de numere naturale &amp;#039;&amp;#039;&amp;#039;(i, j)&amp;#039;&amp;#039;&amp;#039;, cu &amp;#039;&amp;#039;&amp;#039;i ≤ j&amp;#039;&amp;#039;&amp;#039;. Pentru fiecare pereche trebuie să aflați &amp;#039;&amp;#039;&amp;#039;suma&amp;#039;&amp;#039;&amp;#039; divizorilor tuturor numerelor din șirul i, i + 1, ..., j. == Date de intrare == Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;eratostene0.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar pe următoarele n linii câte două numere naturale i(1) j(1), i(2) j(2), …, i(n) j(n). ==...&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/3324/eratostene0 - Eratostene0]&lt;br /&gt;
----&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Se dau &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; perechi de numere naturale &amp;#039;&amp;#039;&amp;#039;(i, j)&amp;#039;&amp;#039;&amp;#039;, cu &amp;#039;&amp;#039;&amp;#039;i ≤ j&amp;#039;&amp;#039;&amp;#039;. Pentru fiecare pereche trebuie să aflați &amp;#039;&amp;#039;&amp;#039;suma&amp;#039;&amp;#039;&amp;#039; divizorilor tuturor numerelor din șirul i, i + 1, ..., j.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;eratostene0.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar pe următoarele n linii câte două numere naturale i(1) j(1), i(2) j(2), …, i(n) j(n).&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;quot;Datele sunt corecte.&amp;quot;, iar apoi in fişierul de ieșire &amp;#039;&amp;#039;&amp;#039;eratostene0.out&amp;#039;&amp;#039;&amp;#039; va conține &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii, pe fiecare linie L, L = 1..n, aflându-se un singur număr natural reprezentând suma divizorilor tuturor numerelor corespunzătoare perechii &amp;#039;&amp;#039;&amp;#039;i(L) j(L)&amp;#039;&amp;#039;&amp;#039;. În caz contrar, se va afișa pe ecran: &amp;quot;Datele nu sunt comform restricțiilor impuse.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 ≤ &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; ≤ 200.000&lt;br /&gt;
* 1 ≤ &amp;#039;&amp;#039;&amp;#039;i&amp;#039;&amp;#039;&amp;#039; ≤ &amp;#039;&amp;#039;&amp;#039;j&amp;#039;&amp;#039;&amp;#039; ≤ 1.000.000&lt;br /&gt;
== Exemple ==&lt;br /&gt;
===Exemplul 1===&lt;br /&gt;
; eratostene0.in&lt;br /&gt;
: 4&lt;br /&gt;
: 1 6&lt;br /&gt;
: 3 7&lt;br /&gt;
: 2 5&lt;br /&gt;
: 8 8&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele sunt corecte.&lt;br /&gt;
; eratostene0.out&lt;br /&gt;
: 33&lt;br /&gt;
: 37&lt;br /&gt;
: 20&lt;br /&gt;
: 15&lt;br /&gt;
===Exemplul 2===&lt;br /&gt;
; eratostene0.in&lt;br /&gt;
: 3&lt;br /&gt;
: 2 4&lt;br /&gt;
: 10 20&lt;br /&gt;
: 40 90&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele sunt corecte.&lt;br /&gt;
; eratostene0.out&lt;br /&gt;
: 14&lt;br /&gt;
: 270&lt;br /&gt;
: 5481&lt;br /&gt;
===Exemplul 3===&lt;br /&gt;
; eratostene0.in&lt;br /&gt;
: 2&lt;br /&gt;
: 191824719471 19991&lt;br /&gt;
: 120 200&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele nu sunt comform restricțiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3324 Eratostene0&lt;br /&gt;
&lt;br /&gt;
def eratostene(vector, n):&lt;br /&gt;
    suma = 0&lt;br /&gt;
    f = open(&amp;quot;eratostene0.out&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
    for k in range(0, n * 2, +2):&lt;br /&gt;
        suma = 0&lt;br /&gt;
        i = vector[k]&lt;br /&gt;
        j = vector[k + 1]&lt;br /&gt;
        for numar in range(i, j + 1):&lt;br /&gt;
            divizor = 1&lt;br /&gt;
            while divizor &amp;lt;= numar:&lt;br /&gt;
                if numar % divizor == 0:&lt;br /&gt;
                    suma += divizor&lt;br /&gt;
                divizor += 1&lt;br /&gt;
        f.write(str(suma) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def conform_restrictiilor():&lt;br /&gt;
    vector = list()&lt;br /&gt;
    with open(&amp;#039;eratostene0.in&amp;#039;) as f:&lt;br /&gt;
        lines = f.readlines()&lt;br /&gt;
        for line in lines:&lt;br /&gt;
            for c in line.split():&lt;br /&gt;
                if c.isdigit() == True:&lt;br /&gt;
                    vector.append(int(c))&lt;br /&gt;
    n = vector[0]&lt;br /&gt;
    vector = vector[1:]&lt;br /&gt;
    if n &amp;gt; 200000 and n &amp;lt; 1:&lt;br /&gt;
        print(&amp;quot;Datele nu sunt comform restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
    for x in vector:&lt;br /&gt;
        if x &amp;lt; 0 or x &amp;gt; 1000000:&lt;br /&gt;
            print(&amp;quot;Datele nu sunt comform restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    print(&amp;quot;Datele sunt corecte.&amp;quot;)&lt;br /&gt;
    return vector, n&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    vector, n = conform_restrictiilor()&lt;br /&gt;
    eratostene(vector, n)&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>Csula Beatrice</name></author>
	</entry>
</feed>