<?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=2318_-_Conversie_B-10</id>
	<title>2318 - Conversie B-10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=2318_-_Conversie_B-10"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2318_-_Conversie_B-10&amp;action=history"/>
	<updated>2026-05-01T06:00:11Z</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=2318_-_Conversie_B-10&amp;diff=398&amp;oldid=prev</id>
		<title>Bogdan.Pop: Pagină nouă: == Cerinţa == Se dau două numere &#039;&#039;&#039;numar&#039;&#039;&#039; și &#039;&#039;&#039;baza&#039;&#039;&#039;, unde &#039;&#039;&#039;baza&#039;&#039;&#039; este o bază de numerație, iar &#039;&#039;&#039;numar&#039;&#039;&#039; un număr reprezentat în baza &#039;&#039;&#039;baza&#039;&#039;&#039;. Să se afișeze numărul obținut prin transformarea lui &#039;&#039;&#039;numar&#039;&#039;&#039; din baza &#039;&#039;&#039;baza&#039;&#039;&#039; în baza 10. == Date de intrare == Fișierul de intrare &lt;u&gt;&#039;&#039;conversie_b_10.in&#039;&#039;&lt;/u&gt; conține pe prima linie numerele &#039;&#039;&#039;numar&#039;&#039;&#039; și &#039;&#039;&#039;baza&#039;&#039;&#039;, separate prin spații. == Date de ieșire ==  Pe ecran se va afișa mesajul: &quot;D...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2318_-_Conversie_B-10&amp;diff=398&amp;oldid=prev"/>
		<updated>2023-01-14T20:06:36Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dau două numere &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; este o bază de numerație, iar &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; un număr reprezentat în baza &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;. Să se afișeze numărul obținut prin transformarea lui &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; din baza &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; în baza 10. == Date de intrare == Fișierul de intrare &amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; conține pe prima linie numerele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;, separate prin spații. == Date de ieșire ==  Pe ecran se va afișa mesajul: &amp;quot;D...&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 dau două numere &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;, unde &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; este o bază de numerație, iar &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; un număr reprezentat în baza &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;. Să se afișeze numărul obținut prin transformarea lui &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; din baza &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; în baza 10.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; conține pe prima linie numerele &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039;, separate prin spații.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Pe ecran se va afișa mesajul: &amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;, în fișierul &amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt; fiind prezentă transformarea lui &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; din baza &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; în baza 10. În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, programul va afișa &amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; &amp;amp;isin; &amp;amp;#8469;&lt;br /&gt;
* 0 &amp;amp;les; &amp;#039;&amp;#039;&amp;#039;numar&amp;#039;&amp;#039;&amp;#039; &amp;amp;lt; 10_000_000&lt;br /&gt;
* 2 &amp;amp;les; &amp;#039;&amp;#039;&amp;#039;baza&amp;#039;&amp;#039;&amp;#039; &amp;amp;les; 10&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 1101 2&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.out&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: -20&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 2&lt;br /&gt;
: 0&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
; Intrare (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;conversie_b_10.in&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: 2&lt;br /&gt;
: abs&lt;br /&gt;
; Ieșire (&amp;lt;u&amp;gt;&amp;#039;&amp;#039;Ecran&amp;#039;&amp;#039;&amp;lt;/u&amp;gt;)&lt;br /&gt;
: Datele introduse nu corespund restricțiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
=== Rezolvare ver. 1 ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# 2318 - Conversie B 10&lt;br /&gt;
&lt;br /&gt;
def validare_date_numar(numar) -&amp;gt; bool:&lt;br /&gt;
    if numar.isdigit():&lt;br /&gt;
        if 0 &amp;lt;= int(numar) &amp;lt;= 10_000_000:&lt;br /&gt;
            return True&lt;br /&gt;
        else:&lt;br /&gt;
            return False&lt;br /&gt;
    return False&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def validare_date_baza(baza) -&amp;gt; bool:&lt;br /&gt;
    if baza.isdigit():&lt;br /&gt;
        if 2 &amp;lt;= int(baza) &amp;lt;= 10:&lt;br /&gt;
            return True&lt;br /&gt;
        else:&lt;br /&gt;
            return False&lt;br /&gt;
    else:&lt;br /&gt;
        return False&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
def conversie_b_10(numar: int, baza: int) -&amp;gt; int:&lt;br /&gt;
    raspuns: int = 0&lt;br /&gt;
    indice: int = 0&lt;br /&gt;
    &lt;br /&gt;
    while numar:&lt;br /&gt;
        raspuns += numar % 10 * baza ** indice&lt;br /&gt;
        indice += 1&lt;br /&gt;
        numar //= 10&lt;br /&gt;
        &lt;br /&gt;
    return raspuns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    fisier_intrare = open(&amp;quot;conversie_b_10.in&amp;quot;, &amp;quot;r&amp;quot;)&lt;br /&gt;
    fisier_iesire = open(&amp;quot;conversie_b_10.out&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    linie1 = fisier_intrare.readline().strip().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    numar = linie1[0]&lt;br /&gt;
    &lt;br /&gt;
    if validare_date_numar(numar):&lt;br /&gt;
        numar = int(numar)&lt;br /&gt;
        baza = linie1[1]&lt;br /&gt;
        &lt;br /&gt;
        if validare_date_baza(baza):&lt;br /&gt;
            baza = int(baza)&lt;br /&gt;
            &lt;br /&gt;
            print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            fisier_iesire.write(str(conversie_b_10(numar, baza)))&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&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;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bogdan.Pop</name></author>
	</entry>
</feed>