<?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=3066_-_Numere_27</id>
	<title>3066 - Numere 27 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3066_-_Numere_27"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3066_-_Numere_27&amp;action=history"/>
	<updated>2026-05-01T06:48:18Z</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=3066_-_Numere_27&amp;diff=6730&amp;oldid=prev</id>
		<title>Pop Giulia at 13:09, 20 May 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3066_-_Numere_27&amp;diff=6730&amp;oldid=prev"/>
		<updated>2023-05-20T13:09:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:09, 20 May 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sursa: [https://www.pbinfo.ro/probleme/3066/numere27]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Enunt==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Enunt==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Într-o zi, Ioana a scris toate numerele naturale de N cifre fiecare îndeplinind, simultan, condițiile:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Într-o zi, Ioana a scris toate numerele naturale de N cifre fiecare îndeplinind, simultan, condițiile:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pop Giulia</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3066_-_Numere_27&amp;diff=5641&amp;oldid=prev</id>
		<title>Pop Giulia: Pagină nouă: ==Enunt== Într-o zi, Ioana a scris toate numerele naturale de N cifre fiecare îndeplinind, simultan, condițiile: numărul format din primele două cifre este pătrat perfect; a treia cifră este obligatoriu număr prim; nu conține două cifre pare alăturate și nici două cifre impare alăturate. De exemplu, numerele de trei cifre, scrise de Ioana, sunt: 163, 165, 167, 252, 363, 365, 367, 492, 812.  ==Cerința== Cunoscându-se numerele N și X, scrieți un program care d...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3066_-_Numere_27&amp;diff=5641&amp;oldid=prev"/>
		<updated>2023-04-30T11:16:14Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: ==Enunt== Într-o zi, Ioana a scris toate numerele naturale de N cifre fiecare îndeplinind, simultan, condițiile: numărul format din primele două cifre este pătrat perfect; a treia cifră este obligatoriu număr prim; nu conține două cifre pare alăturate și nici două cifre impare alăturate. De exemplu, numerele de trei cifre, scrise de Ioana, sunt: 163, 165, 167, 252, 363, 365, 367, 492, 812.  ==Cerința== Cunoscându-se numerele N și X, scrieți un program care d...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Enunt==&lt;br /&gt;
Într-o zi, Ioana a scris toate numerele naturale de N cifre fiecare îndeplinind, simultan, condițiile:&lt;br /&gt;
numărul format din primele două cifre este pătrat perfect;&lt;br /&gt;
a treia cifră este obligatoriu număr prim;&lt;br /&gt;
nu conține două cifre pare alăturate și nici două cifre impare alăturate.&lt;br /&gt;
De exemplu, numerele de trei cifre, scrise de Ioana, sunt: 163, 165, 167, 252, 363, 365, 367, 492, 812.&lt;br /&gt;
&lt;br /&gt;
==Cerința==&lt;br /&gt;
Cunoscându-se numerele N și X, scrieți un program care determină:&lt;br /&gt;
1) câte numere de N cifre îndeplinesc cele trei condiții din enunț;&lt;br /&gt;
2) care este cel mai apropiat număr de X, diferit de X, care să îndeplinească cele trei condiții din enunț și care să aibă același număr de cifre ca X. Dacă există două astfel de numere, egal depărtate de X, se va afișa cel mai mic dintre ele.&lt;br /&gt;
&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Fișierul de intrare numere.in conţine pe prima linie un număr natural C. Numărul C poate avea doar valorile 1 sau 2. Pe a doua linie se află, în cazul primei cerințe, numărul N, iar în cazul celei de-a doua cerințe, numărul X.&lt;br /&gt;
&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Dacă valoarea lui C este 1, se va rezolva doar cerința 1). În acest caz, fișierul de ieșire numere.out va conține pe prima linie un număr natural, reprezentând rezultatul determinat pentru prima cerință.&lt;br /&gt;
Dacă valoarea lui C este 2, se va rezolva doar cerința 2). În acest caz, fișierul de ieșire numere.out va conține pe prima linie un număr natural, reprezentând rezultatul determinat pentru cea de a doua cerință.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
3 ≤ N ≤ 29&lt;br /&gt;
100 ≤ X ≤ 20.000.000&lt;br /&gt;
Pentru rezolvarea primei cerințe se acordă 30 de puncte, iar pentru rezolvarea celei de a doua cerințe se acordă 70 de puncte.&lt;br /&gt;
==Exemplul 1:==&lt;br /&gt;
numere.in&lt;br /&gt;
&lt;br /&gt;
1&lt;br /&gt;
4&lt;br /&gt;
numere.out&lt;br /&gt;
&lt;br /&gt;
45&lt;br /&gt;
==Explicație==&lt;br /&gt;
Numerele de patru cifre, scrise de Ioana, sunt: 1630, 1632, 1634, 1636, 1638, 1650, 1652, 1654, 1656, 1658, 1670, 1672, 1674, 1676, 1678, 2521, 2523, 2525, 2527, 2529, 3630, 3632, 3634, 3636, 3638, 3650, 3652, 3654, 3656, 3658, 3670, 3672, 3674, 3676, 3678, 4921, 4923, 4925, 4927, 4929, 8121, 8123, 8125, 8127, 8129.&lt;br /&gt;
&lt;br /&gt;
==Exemplul 2:==&lt;br /&gt;
numere.in&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
200&lt;br /&gt;
numere.out&lt;br /&gt;
&lt;br /&gt;
167&lt;br /&gt;
==Explicație==&lt;br /&gt;
Cel mai apropiat număr de 200 este 167 (numerele de trei cifre, scrise de Ioana, sunt: 163, 165, 167, 252, 363, 365, 367, 492, 812).&lt;br /&gt;
&lt;br /&gt;
==Încărcare soluție==&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 verifica_numar(numar):&lt;br /&gt;
    # Verificăm dacă primele două cifre sunt pătrate perfecte&lt;br /&gt;
    primele_doua_cifre = numar // 100&lt;br /&gt;
    if not math.isqrt(primele_doua_cifre) ** 2 == primele_doua_cifre:&lt;br /&gt;
        return False&lt;br /&gt;
    &lt;br /&gt;
    # Verificăm dacă a treia cifră este primă&lt;br /&gt;
    a_treia_cifra = (numar // 10) % 10&lt;br /&gt;
    if a_treia_cifra not in {2, 3, 5, 7}:&lt;br /&gt;
        return False&lt;br /&gt;
    &lt;br /&gt;
    # Verificăm dacă nu conține două cifre pare sau două cifre impare alăturate&lt;br /&gt;
    ultima_cifra_impara = False&lt;br /&gt;
    ultima_cifra_para = False&lt;br /&gt;
    while numar &amp;gt; 0:&lt;br /&gt;
        cifra = numar % 10&lt;br /&gt;
        if cifra % 2 == 0:&lt;br /&gt;
            if ultima_cifra_para:&lt;br /&gt;
                return False&lt;br /&gt;
            ultima_cifra_para = True&lt;br /&gt;
            ultima_cifra_impara = False&lt;br /&gt;
        else:&lt;br /&gt;
            if ultima_cifra_impara:&lt;br /&gt;
                return False&lt;br /&gt;
            ultima_cifra_impara = True&lt;br /&gt;
            ultima_cifra_para = False&lt;br /&gt;
        numar //= 10&lt;br /&gt;
    &lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Citim datele de intrare&lt;br /&gt;
c = int(input())&lt;br /&gt;
if c == 1:&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    # Numărăm câte numere de n cifre îndeplinesc condițiile&lt;br /&gt;
    contor = 0&lt;br /&gt;
    for i in range(10 ** (n-1), 10 ** n):&lt;br /&gt;
        if verifica_numar(i):&lt;br /&gt;
            contor += 1&lt;br /&gt;
    # Afisăm rezultatul&lt;br /&gt;
    print(contor)&lt;br /&gt;
&lt;br /&gt;
elif c == 2:&lt;br /&gt;
    x = int(input())&lt;br /&gt;
    n = len(str(x))&lt;br /&gt;
    # Căutăm cel mai apropiat număr diferit de x care îndeplinește condițiile&lt;br /&gt;
    gasit = False&lt;br /&gt;
    for i in range(x-1, 0, -1):&lt;br /&gt;
        if len(str(i)) != n:&lt;br /&gt;
            break&lt;br /&gt;
        if verifica_numar(i):&lt;br /&gt;
            print(i)&lt;br /&gt;
            gasit = True&lt;br /&gt;
            break&lt;br /&gt;
    if not gasit:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pop Giulia</name></author>
	</entry>
</feed>