<?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=3680_-_Numere_X</id>
	<title>3680 - Numere X - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3680_-_Numere_X"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3680_-_Numere_X&amp;action=history"/>
	<updated>2026-05-01T04:37:43Z</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=3680_-_Numere_X&amp;diff=9724&amp;oldid=prev</id>
		<title>Cristina94 at 06:31, 28 March 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3680_-_Numere_X&amp;diff=9724&amp;oldid=prev"/>
		<updated>2024-03-28T06:31:34Z</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 06:31, 28 March 2024&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-l56&quot;&gt;Line 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 56:&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;==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;==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;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&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;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;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;#3680 - Numere X&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;def numar_divizori(n):&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;def numar_divizori(n):&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;     divizori = 0&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;     divizori = 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cristina94</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3680_-_Numere_X&amp;diff=9723&amp;oldid=prev</id>
		<title>Cristina94: Pagină nouă: ==Enunţ== Pentru un număr natural nenul X, se numește divizor propriu al lui X, un divizor natural al lui X, diferit de 1 și X. De exemplu, pentru numărul 20 divizorii proprii sunt 2, 4, 5, 10, iar numărul 20 are 4 divizori proprii.  ==Cerința== 1. Se dă un număr natural N. Determinați cel mai mic număr din intervalul închis [1,N] care are număr maxim de divizori proprii. 2. Se dau trei numere N, M și T. Determinați câte intervale de forma [a,b] au proprietate...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3680_-_Numere_X&amp;diff=9723&amp;oldid=prev"/>
		<updated>2024-03-28T06:30:25Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: ==Enunţ== Pentru un număr natural nenul X, se numește divizor propriu al lui X, un divizor natural al lui X, diferit de 1 și X. De exemplu, pentru numărul 20 divizorii proprii sunt 2, 4, 5, 10, iar numărul 20 are 4 divizori proprii.  ==Cerința== 1. Se dă un număr natural N. Determinați cel mai mic număr din intervalul închis [1,N] care are număr maxim de divizori proprii. 2. Se dau trei numere N, M și T. Determinați câte intervale de forma [a,b] au proprietate...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Enunţ==&lt;br /&gt;
Pentru un număr natural nenul X, se numește divizor propriu al lui X, un divizor natural al lui X, diferit de 1 și X. De exemplu, pentru numărul 20 divizorii proprii sunt 2, 4, 5, 10, iar numărul 20 are 4 divizori proprii.&lt;br /&gt;
&lt;br /&gt;
==Cerința==&lt;br /&gt;
1. Se dă un număr natural N. Determinați cel mai mic număr din intervalul închis [1,N] care are număr maxim de divizori proprii.&lt;br /&gt;
2. Se dau trei numere N, M și T. Determinați câte intervale de forma [a,b] au proprietatea că există exact M numere naturale care au T divizori proprii.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Fișierul de intrare numere.in conține pe prima linie un număr natural P reprezentând cerința din problemă care trebuie rezolvată.&lt;br /&gt;
&lt;br /&gt;
Dacă P = 1 atunci pe a doua linie se găsește un număr natural N, reprezentând extremitatea din dreapta a intervalului.&lt;br /&gt;
&lt;br /&gt;
Dacă P = 2 atunci pe a doua linie se găsesc trei numere: un număr natural N, un număr natural M și un număr natural T cu semnificațiile din enunț.&lt;br /&gt;
&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă P = 1 atunci fișierul de ieșire numere.out conține pe o singură linie numărul cel mai mic determinat care are număr maxim de divizori.&lt;br /&gt;
&lt;br /&gt;
Dacă P = 2 atunci fișierul de ieșire numere.out conține pe o singură linie numărul de intervale determinate care au proprietatea cerută.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*1 ≤ N ≤ 100000&lt;br /&gt;
*1 ≤ M ≤ 100000&lt;br /&gt;
*1 ≤ T ≤ 100000&lt;br /&gt;
*1 ≤ a ≤ b ≤ N&lt;br /&gt;
&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;numere.in&lt;br /&gt;
:1&lt;br /&gt;
:20&lt;br /&gt;
&lt;br /&gt;
;numere.out&lt;br /&gt;
:12&lt;br /&gt;
&lt;br /&gt;
==Explicație==&lt;br /&gt;
12 are 4 divizori proprii și este cel mai mic număr cu 4 divizori proprii din [1,20].&lt;br /&gt;
&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;numere.in&lt;br /&gt;
:2&lt;br /&gt;
:10 3 2&lt;br /&gt;
&lt;br /&gt;
;numere.out&lt;br /&gt;
:6&lt;br /&gt;
&lt;br /&gt;
==Explicație==&lt;br /&gt;
[1,10], [2,10], [3,10], [4,10], [5,10], [6,10] sunt cele 6 intervale în care se găsesc exact 3 numere cu 2 divizori proprii(6, 8, 10 sunt numerele cu 3 divizori proprii).&lt;br /&gt;
&lt;br /&gt;
==Exemplul 3==&lt;br /&gt;
;numere.in&lt;br /&gt;
:1&lt;br /&gt;
:0&lt;br /&gt;
&lt;br /&gt;
;numere.out&lt;br /&gt;
:Datele introduse sunt invalide&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;
def numar_divizori(n):&lt;br /&gt;
    divizori = 0&lt;br /&gt;
    for i in range(2, int(n**0.5) + 1):&lt;br /&gt;
        if n % i == 0:&lt;br /&gt;
            if n // i == i:&lt;br /&gt;
                divizori += 1&lt;br /&gt;
            else:&lt;br /&gt;
                divizori += 2&lt;br /&gt;
    return divizori&lt;br /&gt;
&lt;br /&gt;
def cel_mai_mic_numar_cu_max_divizori(N):&lt;br /&gt;
    maxim_divizori = 0&lt;br /&gt;
    numar = 0&lt;br /&gt;
    for i in range(1, N + 1):&lt;br /&gt;
        divizori = numar_divizori(i)&lt;br /&gt;
        if divizori &amp;gt; maxim_divizori:&lt;br /&gt;
            maxim_divizori = divizori&lt;br /&gt;
            numar = i&lt;br /&gt;
    return numar&lt;br /&gt;
&lt;br /&gt;
def numar_intervale_cu_M_numere_T_divizori(N, M, T):&lt;br /&gt;
    numar_intervale = 0&lt;br /&gt;
    for a in range(1, N + 1):&lt;br /&gt;
        for b in range(a, N + 1):&lt;br /&gt;
            numere_cu_T_divizori = sum(1 for x in range(a, b + 1) if numar_divizori(x) == T)&lt;br /&gt;
            if numere_cu_T_divizori == M:&lt;br /&gt;
                numar_intervale += 1&lt;br /&gt;
    return numar_intervale&lt;br /&gt;
&lt;br /&gt;
def verifica_date_intrare(P, N, M, T):&lt;br /&gt;
    if P not in [1, 2]:&lt;br /&gt;
        return False&lt;br /&gt;
    if P == 1:&lt;br /&gt;
        if not isinstance(N, int) or N &amp;lt; 1 or N &amp;gt; 100000:&lt;br /&gt;
            return False&lt;br /&gt;
    elif P == 2:&lt;br /&gt;
        if not (isinstance(N, int) and isinstance(M, int) and isinstance(T, int)):&lt;br /&gt;
            return False&lt;br /&gt;
        if not (1 &amp;lt;= N &amp;lt;= 100000 and 1 &amp;lt;= M &amp;lt;= 100000 and 1 &amp;lt;= T &amp;lt;= 100000):&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    N = None&lt;br /&gt;
    with open(&amp;quot;numere.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
        P = int(fin.readline().strip())&lt;br /&gt;
        if P == 1:&lt;br /&gt;
            N = int(fin.readline().strip())&lt;br /&gt;
        elif P == 2:&lt;br /&gt;
            N, M, T = map(int, fin.readline().strip().split())&lt;br /&gt;
&lt;br /&gt;
    if not verifica_date_intrare(P, N, M if P == 2 else None, T if P == 2 else None):&lt;br /&gt;
        with open(&amp;quot;numere.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
            fout.write(&amp;quot;Datele introduse sunt invalide\n&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    if P == 1:&lt;br /&gt;
        rezultat = cel_mai_mic_numar_cu_max_divizori(N)&lt;br /&gt;
    else:&lt;br /&gt;
        rezultat = numar_intervale_cu_M_numere_T_divizori(N, M, T)&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;numere.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
        fout.write(str(rezultat) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cristina94</name></author>
	</entry>
</feed>