<?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=0440_-_Fact_Zero_1</id>
	<title>0440 - Fact Zero 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0440_-_Fact_Zero_1"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0440_-_Fact_Zero_1&amp;action=history"/>
	<updated>2026-05-02T03:33:45Z</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=0440_-_Fact_Zero_1&amp;diff=5400&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 ultima cifră nenulă din scrierea zecimală 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;C&#039;&#039;&#039;, reprezentând ultima cifră nenulă din scrierea zecimală 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; == Exemplu == ; Intrare :13...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0440_-_Fact_Zero_1&amp;diff=5400&amp;oldid=prev"/>
		<updated>2023-04-29T12:43:02Z</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 ultima cifră nenulă din scrierea zecimală 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;C&amp;#039;&amp;#039;&amp;#039;, reprezentând ultima cifră nenulă din scrierea zecimală 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; == Exemplu == ; Intrare :13...&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 ultima cifră nenulă din scrierea zecimală 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;C&amp;#039;&amp;#039;&amp;#039;, reprezentând ultima cifră nenulă din scrierea zecimală 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;
:8&lt;br /&gt;
== Explicație == &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;13! = 6227020800&amp;#039;&amp;#039;&amp;#039;, iar ultima cifră nenulă este &amp;#039;&amp;#039;&amp;#039;8&amp;#039;&amp;#039;&amp;#039;.&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; 1000:&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;
    n = int(input(&amp;quot;Introduceți numărul n: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
    if validare_date(n):&lt;br /&gt;
        # Inițializăm contoarele pentru factorii 2 și 5&lt;br /&gt;
        nr_factori_2 = 0&lt;br /&gt;
        nr_factori_5 = 0&lt;br /&gt;
&lt;br /&gt;
        # Calculăm numărul de factori ai lui 2 și 5 din descompunerea factorialului&lt;br /&gt;
        for i in range(2, n+1):&lt;br /&gt;
            x = i&lt;br /&gt;
            while x % 2 == 0:&lt;br /&gt;
                nr_factori_2 += 1&lt;br /&gt;
                x //= 2&lt;br /&gt;
            while x % 5 == 0:&lt;br /&gt;
                nr_factori_5 += 1&lt;br /&gt;
                x //= 5&lt;br /&gt;
&lt;br /&gt;
        # Determinăm ultima cifră nenulă&lt;br /&gt;
        if nr_factori_2 &amp;gt; nr_factori_5:&lt;br /&gt;
            ultima_cifra_nenula = 8&lt;br /&gt;
        elif nr_factori_5 &amp;gt; nr_factori_2:&lt;br /&gt;
            ultima_cifra_nenula = 5&lt;br /&gt;
        else:&lt;br /&gt;
            ultima_cifra_nenula = 6&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;Ultima cifră nenulă a lui&amp;quot;, n, &amp;quot;! este&amp;quot;, ultima_cifra_nenula)&lt;br /&gt;
        print(&amp;quot;\nDatele de intrare corespund restricțiilor impuse.\n&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;
Pentru a determina ultima cifră nenulă din descompunerea factorialului numărului &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, trebuie să determinăm câți factori primi &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; și câți factori primi &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; sunt în descompunerea factorialului și să comparăm aceste valori. Pentru a implementa această soluție în Python, putem citi numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; de la tastatură și apoi putem calcula numărul de factori primi &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; din descompunerea factorialului folosind o buclă for și două bucle &amp;#039;&amp;#039;&amp;#039;while&amp;#039;&amp;#039;&amp;#039;. După ce am calculat numărul de factori primi &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039;, putem compara aceste valori și să determinăm ultima cifră nenulă. Pentru a ne asigura că datele de intrare respectă restricțiile impuse, putem defini o funcție separată de validare a datelor și să apelăm această funcție înainte de a efectua calculul și afișarea rezultatului.&lt;/div&gt;</summary>
		<author><name>Paul Matei</name></author>
	</entry>
</feed>