<?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=2769_-_Trei_Prime</id>
	<title>2769 - Trei Prime - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2769_-_Trei_Prime"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2769_-_Trei_Prime&amp;action=history"/>
	<updated>2026-05-01T05:38:51Z</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=2769_-_Trei_Prime&amp;diff=5398&amp;oldid=prev</id>
		<title>Paul Matei: Pagină nouă: == Cerinţa == Se dă un număr natural &#039;&#039;&#039;n&#039;&#039;&#039; care este produs de trei numere prime distincte. Ştiind că există &#039;&#039;&#039;m&#039;&#039;&#039; numere naturale prime cu &#039;&#039;&#039;n&#039;&#039;&#039; şi mai mici decât acesta, să se afişeze în ordine crescătoare cele trei numere prime din descompunerea lui &#039;&#039;&#039;n&#039;&#039;&#039;. == Date de intrare == Programul citește de la tastatură numerele &#039;&#039;&#039;n&#039;&#039;&#039; şi &#039;&#039;&#039;m&#039;&#039;&#039;. == Date de ieşire == Programul va afișa pe ecran numerele prime din descompunerea lui &#039;&#039;&#039;n&#039;&#039;&#039;. == Restricții...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2769_-_Trei_Prime&amp;diff=5398&amp;oldid=prev"/>
		<updated>2023-04-29T12:09:26Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dă un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; care este produs de trei numere prime distincte. Ştiind că există &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; numere naturale prime cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; şi mai mici decât acesta, să se afişeze în ordine crescătoare cele trei numere prime din descompunerea lui &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. == Date de intrare == Programul citește de la tastatură numerele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;. == Date de ieşire == Programul va afișa pe ecran numerele prime din descompunerea lui &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. == Restricții...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; care este produs de trei numere prime distincte. Ştiind că există &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039; numere naturale prime cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; şi mai mici decât acesta, să se afişeze în ordine crescătoare cele trei numere prime din descompunerea lui &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; şi &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Programul va afișa pe ecran numerele prime din descompunerea lui &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*1 ≤ m ≤ n ≤ 10*18&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare&lt;br /&gt;
:66 20&lt;br /&gt;
; Ieșire&lt;br /&gt;
:2 3 11&lt;br /&gt;
== Explicație == &lt;br /&gt;
Avem &amp;#039;&amp;#039;&amp;#039;66=2•3•11&amp;#039;&amp;#039;&amp;#039; şi există &amp;#039;&amp;#039;&amp;#039;20&amp;#039;&amp;#039;&amp;#039; de numere prime cu &amp;#039;&amp;#039;&amp;#039;66&amp;#039;&amp;#039;&amp;#039;, mai mici decât acesta.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import math&lt;br /&gt;
&lt;br /&gt;
def validare_date(n, m):&lt;br /&gt;
    if not (1 &amp;lt;= m &amp;lt;= n &amp;lt;= 10**18):&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;
    # Citim valorile de la tastatură&lt;br /&gt;
    n = int(input(&amp;quot;Introduceti numarul n: &amp;quot;))&lt;br /&gt;
    m = int(input(&amp;quot;Introduceti numarul m: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    # Validăm datele de intrare&lt;br /&gt;
    if not validare_date(n, m):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        # Initializam variabilele&lt;br /&gt;
        factori = []&lt;br /&gt;
        numar_prim = 0&lt;br /&gt;
&lt;br /&gt;
        # Factorizam numarul n&lt;br /&gt;
        while n &amp;gt; 1:&lt;br /&gt;
            for i in range(2, int(math.sqrt(n))+1):&lt;br /&gt;
                if n % i == 0:&lt;br /&gt;
                    factori.append(i)&lt;br /&gt;
                    n //= i&lt;br /&gt;
                    break&lt;br /&gt;
            else:&lt;br /&gt;
                factori.append(n)&lt;br /&gt;
                n //= n&lt;br /&gt;
&lt;br /&gt;
        # Numaram factorii primi care sunt mai mici decat n si sunt, de asemenea, primi&lt;br /&gt;
        for factor in factori:&lt;br /&gt;
            if factor &amp;lt; n and all(factor % i != 0 for i in range(2, int(math.sqrt(factor))+1)):&lt;br /&gt;
                numar_prim += 1&lt;br /&gt;
&lt;br /&gt;
        # Afisam cei trei factori primi distincti ai lui n in ordine crescatoare&lt;br /&gt;
        print(sorted(set(factori))[:3])&lt;br /&gt;
        print(&amp;quot;\nDatele de intrare corespund restricțiilor impuse.\n&amp;quot;)&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;
Acest program calculează factorii primi ai unui număr natural dat și afișează cele trei numere prime distincte care alcătuiesc acel număr, precum și numărul de numere prime mai mici decât numărul dat și le afișează pe ecran. Programul verifică mai întâi dacă datele de intrare sunt valide și apoi factorizează numărul dat pentru a găsi factorii primi. În cele din urmă, programul afișează cele trei numere prime distincte din lista factorilor primi și confirmă că datele de intrare sunt valide.&lt;/div&gt;</summary>
		<author><name>Paul Matei</name></author>
	</entry>
</feed>