<?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=0701_-_Numere4</id>
	<title>0701 - Numere4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0701_-_Numere4"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0701_-_Numere4&amp;action=history"/>
	<updated>2026-05-01T08:22:17Z</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=0701_-_Numere4&amp;diff=8733&amp;oldid=prev</id>
		<title>Ramona Dragoș: Pagină nouă: == Enunt == Irinei îi plac numerele naturale. Ea știe că orice număr natural cu cifre nenule se poate reprezenta ca un șir de cifre din mulțimea A={1, 2,..., 9}. Irina își alege o cifră k şi îşi propune să afle câte numere naturale au suma cifrelor egală cu un număr dat S și în același timp se reprezintă folosind doar cifre din mulţimea {1, 2,..., k}. == Cerința == Dându-se S şi k, se cere să se determine ultima cifră a numărului de numere naturale...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0701_-_Numere4&amp;diff=8733&amp;oldid=prev"/>
		<updated>2023-12-31T14:50:13Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Enunt == Irinei îi plac numerele naturale. Ea știe că orice număr natural cu cifre nenule se poate reprezenta ca un șir de cifre din mulțimea A={1, 2,..., 9}. Irina își alege o cifră k şi îşi propune să afle câte numere naturale au suma cifrelor egală cu un număr dat S și în același timp se reprezintă folosind doar cifre din mulţimea {1, 2,..., k}. == Cerința == Dându-se S şi k, se cere să se determine ultima cifră a numărului de numere naturale...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Enunt ==&lt;br /&gt;
Irinei îi plac numerele naturale. Ea știe că orice număr natural cu cifre nenule se poate reprezenta ca un șir de cifre din mulțimea A={1, 2,..., 9}. Irina își alege o cifră k şi îşi propune să afle câte numere naturale au suma cifrelor egală cu un număr dat S și în același timp se reprezintă folosind doar cifre din mulţimea {1, 2,..., k}.&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Dându-se S şi k, se cere să se determine ultima cifră a numărului de numere naturale care se reprezintă doar cu cifre din mulțimea {1,...,k} și au suma cifrelor egală cu S.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare numere4in.txt conține pe prima linie numerele naturale T şi k, separate printr-un spaţiu, unde T reprezintă numărul de teste, iar k are semnificaţia din enunţ.&lt;br /&gt;
Pe linia a doua se găsesc T numere naturale, separate prin câte un spaţiu. Al i-lea număr de pe linia a doua reprezintă suma S corespunzătoare celui de-al i-lea test.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire numere4out.txt va conține pe prima linie, separate prin câte un spaţiu, T cifre calculate conform cerinţelor, în ordinea dată de fişierul de intrare.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*1 &amp;amp;les; T &amp;amp;les; 10&lt;br /&gt;
*2 &amp;amp;les; k &amp;amp;les; 5&lt;br /&gt;
*1 &amp;amp;les; S &amp;amp;les; 2^30&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
;numere4in.txt&lt;br /&gt;
:2 3&lt;br /&gt;
:3 5&lt;br /&gt;
;numere4out.txt&lt;br /&gt;
:4 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
;numere4in.txt&lt;br /&gt;
: 0 0 &lt;br /&gt;
: 0 0&lt;br /&gt;
;numere4out.txt&lt;br /&gt;
: Nu au fost respectate cerintele 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;
#0701 - Numere4&lt;br /&gt;
def read_input(file_name):&lt;br /&gt;
    try:&lt;br /&gt;
        with open(file_name, &amp;#039;r&amp;#039;) as file:&lt;br /&gt;
            T, k = map(int, file.readline().split())&lt;br /&gt;
            S_values = list(map(int, file.readline().split()))&lt;br /&gt;
&lt;br /&gt;
            return T, k, S_values&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Nu au fost respectate cerințele impuse: {str(e)}&amp;quot;)&lt;br /&gt;
        return None&lt;br /&gt;
&lt;br /&gt;
def write_output(file_name, result):&lt;br /&gt;
    with open(file_name, &amp;#039;w&amp;#039;) as file:&lt;br /&gt;
        if result is not None:&lt;br /&gt;
            file.write(&amp;quot; &amp;quot;.join(map(str, result)) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
def last_digit(T, k, S_values):&lt;br /&gt;
    result = []&lt;br /&gt;
&lt;br /&gt;
    for S in S_values:&lt;br /&gt;
        count = 0&lt;br /&gt;
        for i in range(1, k + 1):&lt;br /&gt;
            count += pow(i, S, 10)&lt;br /&gt;
&lt;br /&gt;
        result.append(count % 10)&lt;br /&gt;
&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def main(input_file, output_file):&lt;br /&gt;
    result = read_input(input_file)&lt;br /&gt;
    if result is not None:&lt;br /&gt;
        T, k, S_values = result&lt;br /&gt;
        result = last_digit(T, k, S_values)&lt;br /&gt;
        write_output(output_file, result)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main(&amp;quot;numere4in.txt&amp;quot;, &amp;quot;numere4out.txt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ramona Dragoș</name></author>
	</entry>
</feed>