<?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=1912_-_Becuri</id>
	<title>1912 - Becuri - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1912_-_Becuri"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1912_-_Becuri&amp;action=history"/>
	<updated>2026-05-01T20:52:20Z</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=1912_-_Becuri&amp;diff=8742&amp;oldid=prev</id>
		<title>Vasiliu Costel Andrei: Pagină nouă: == Cerința == Chris vă propune un joc cu becuri. &lt;br&gt;  * în joc sunt n becuri&lt;br&gt; * inițial toate cele n becuri au culoarea albastru &lt;br&gt; * fiecare bec poate avea doar două culori: roșu sau albastru&lt;br&gt; * se efectuează n parcurgeri, pentru k de la 1 la n. La parcurgerea de rang k, se schimbă culoarea fiecărui bec situat pe poziţii având indicii multipli de k, din roşu în albastru şi invers.&lt;br&gt; Știind numărul n de becuri, să se afișeze numărul de becuri car...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1912_-_Becuri&amp;diff=8742&amp;oldid=prev"/>
		<updated>2024-01-01T13:16:09Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerința == Chris vă propune un joc cu becuri. &amp;lt;br&amp;gt;  * în joc sunt n becuri&amp;lt;br&amp;gt; * inițial toate cele n becuri au culoarea albastru &amp;lt;br&amp;gt; * fiecare bec poate avea doar două culori: roșu sau albastru&amp;lt;br&amp;gt; * se efectuează n parcurgeri, pentru k de la 1 la n. La parcurgerea de rang k, se schimbă culoarea fiecărui bec situat pe poziţii având indicii multipli de k, din roşu în albastru şi invers.&amp;lt;br&amp;gt; Știind numărul n de becuri, să se afișeze numărul de becuri car...&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;
Chris vă propune un joc cu becuri. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* în joc sunt n becuri&amp;lt;br&amp;gt;&lt;br /&gt;
* inițial toate cele n becuri au culoarea albastru &amp;lt;br&amp;gt;&lt;br /&gt;
* fiecare bec poate avea doar două culori: roșu sau albastru&amp;lt;br&amp;gt;&lt;br /&gt;
* se efectuează n parcurgeri, pentru k de la 1 la n. La parcurgerea de rang k, se schimbă culoarea fiecărui bec situat pe poziţii având indicii multipli de k, din roşu în albastru şi invers.&amp;lt;br&amp;gt;&lt;br /&gt;
Știind numărul n de becuri, să se afișeze numărul de becuri care au culoarea roșie după terminarea jocului.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare becuriin.txt conține pe prima linie numărul de becuri n.&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire becuriout.txt va conține pe prima linie numărul de becuri care au culoarea roșie după terminarea jocului.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* numerotarea pozițiilor becurilor începe cu 1&lt;br /&gt;
* 1 &amp;amp;les; &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; &amp;amp;les; 10^9&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; becuriin.txt&lt;br /&gt;
: 6&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; becuriout.txt&lt;br /&gt;
: 2&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; becuriin.txt&lt;br /&gt;
: 10&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; becuriout.txt&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; becuriin.txt&lt;br /&gt;
: 18&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; becuriout.txt&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
== Exemplul 4 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; becuriin.txt&lt;br /&gt;
: 0&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare NU corespund restricțiilor impuse&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#1912 - Becuri&lt;br /&gt;
&lt;br /&gt;
def validare_date(n):&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 10**9):&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def numar_becuri_rosii(n):&lt;br /&gt;
    becuri = [0] * (n + 1)&lt;br /&gt;
&lt;br /&gt;
    for k in range(1, n + 1):&lt;br /&gt;
        for i in range(k, n + 1, k):&lt;br /&gt;
            becuri[i] = 1 - becuri[i]&lt;br /&gt;
&lt;br /&gt;
    return sum(becuri)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;becuriin.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
    n = int(f.readline().strip())&lt;br /&gt;
&lt;br /&gt;
if validare_date(n):&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    rezultat = numar_becuri_rosii(n)&lt;br /&gt;
    with open(&amp;quot;becuriout.txt&amp;quot;, &amp;quot;w&amp;quot;) as f:&lt;br /&gt;
        f.write(str(rezultat) + &amp;quot;\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;
    exit(0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vasiliu Costel Andrei</name></author>
	</entry>
</feed>