<?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=0439_-_Fact_Zero</id>
	<title>0439 - Fact Zero - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0439_-_Fact_Zero"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0439_-_Fact_Zero&amp;action=history"/>
	<updated>2026-05-01T13:51:09Z</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=0439_-_Fact_Zero&amp;diff=5399&amp;oldid=prev</id>
		<title>Paul Matei: Pagină nouă: == Cerinţa == Se citește un număr natural &#039;&#039;&#039;n&#039;&#039;&#039;. Să se determine numărul de zerouri de la sfârșitul scrierii zecimale a numărului &#039;&#039;&#039;n!&#039;&#039;&#039;. == Date de intrare == Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;. == Date de ieşire == Programul afișează pe ecran numărul &#039;&#039;&#039;Z&#039;&#039;&#039;, reprezentând numărul de zerouri de la sfârșitul scrierii zecimale a numărului &#039;&#039;&#039;n!&#039;&#039;&#039;. == Restricții și precizări == *&#039;&#039;&#039;1 ≤ n ≤ 1000&#039;&#039;&#039; *&#039;&#039;&#039;n! = 1 * 2 * ... * n&#039;&#039;&#039; == Exe...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0439_-_Fact_Zero&amp;diff=5399&amp;oldid=prev"/>
		<updated>2023-04-29T12:27:17Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se citește un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. Să se determine numărul de zerouri de la sfârșitul scrierii zecimale a numărului &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039;. == Date de intrare == Programul citește de la tastatură numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. == Date de ieşire == Programul afișează pe ecran numărul &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039;, reprezentând numărul de zerouri de la sfârșitul scrierii zecimale a numărului &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039;. == Restricții și precizări == *&amp;#039;&amp;#039;&amp;#039;1 ≤ n ≤ 1000&amp;#039;&amp;#039;&amp;#039; *&amp;#039;&amp;#039;&amp;#039;n! = 1 * 2 * ... * n&amp;#039;&amp;#039;&amp;#039; == Exe...&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 citește un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;. Să se determine numărul de zerouri de la sfârșitul scrierii zecimale a numărului &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ă numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Programul afișează pe ecran numărul &amp;#039;&amp;#039;&amp;#039;Z&amp;#039;&amp;#039;&amp;#039;, reprezentând numărul de zerouri de la sfârșitul scrierii zecimale a numărului &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;1 ≤ n ≤ 1000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;n! = 1 * 2 * ... * n&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare&lt;br /&gt;
:13&lt;br /&gt;
; Ieșire&lt;br /&gt;
:2&lt;br /&gt;
== Explicație == &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;13! = 6227020800&amp;#039;&amp;#039;&amp;#039;, deci se termină cu &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; zerouri.&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def validare_date(n):&lt;br /&gt;
    if n &amp;lt; 1 or n &amp;gt; 10**5:&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def calculeaza_puteri(n):&lt;br /&gt;
    nr5 = 0&lt;br /&gt;
    nr2 = 0&lt;br /&gt;
&lt;br /&gt;
    i = 5&lt;br /&gt;
    while i &amp;lt;= n:&lt;br /&gt;
        nr5 += n // i&lt;br /&gt;
        i *= 5&lt;br /&gt;
&lt;br /&gt;
    i = 2&lt;br /&gt;
    while i &amp;lt;= n:&lt;br /&gt;
        nr2 += n // i&lt;br /&gt;
        i *= 2&lt;br /&gt;
&lt;br /&gt;
    if nr5 &amp;lt;= nr2:&lt;br /&gt;
        return nr5&lt;br /&gt;
    else:&lt;br /&gt;
        return nr2&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    n = int(input(&amp;quot;Introduceti n: &amp;quot;))&lt;br /&gt;
    if validare_date(n):&lt;br /&gt;
        putere = calculeaza_puteri(n)&lt;br /&gt;
        print(f&amp;quot;Puterea minima de 2 sau 5 care divide n! fara rest este: {putere}&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&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 cod calculează puterea minimă de &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; sau &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; care divide &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039; fără rest, unde &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; este un număr dat de la tastatură. Codul verifică mai întâi dacă intrarea este validă, apoi folosește două bucle &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039; pentru a calcula numărul de factori de &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; care împart &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039; fără rest. La final, codul compară cele două numere de factori și afișează cel mai mic dintre ele ca putere minimă de &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; sau &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; care divide &amp;#039;&amp;#039;&amp;#039;n!&amp;#039;&amp;#039;&amp;#039; fără rest.&lt;/div&gt;</summary>
		<author><name>Paul Matei</name></author>
	</entry>
</feed>