Lista de probleme 650

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

Boris este un elev pasionat de matematică. Ieri, învățătoarea a predat la școală o nouă lecție, ecuațiile matematice, și i-a dat o foaie cu exerciții ca temă. Ecuațiile din temă sunt de două tipuri: cu o necunoscută ( x ) și cu două necunoscute (x și y). Deoarece el este în clasa a 3-a, singurele operații matematice pe care le cunoaște sunt adunarea, scăderea și înmulțirea, deci doar acestea vor apărea în ecuații. Ele conțin și semnul egal, și paranteze deschise și închise. De asemenea, în timpul calculelor el nu va trebui niciodată să înmulțească două necunoscute. În dreapta semnului de egalitate nu va apărea x sau y, însă pot apărea expresii.

O variabilă poate apărea în trei moduri într-o ecuație: dacă x este necunoscuta, și trebuie înmulțită cu 12, aparițiile posibile ale expresiei sunt 12*x, x*12 și 12x. Deci, o posibilă ecuație poate fi: ((12x+4y)*4-244)=4*239+124-2*2*3.
Întrucât Boris este cel mai deștept elev din clasă, profesoara nu vrea ca acesta doar să găsească o soluție, ci dorește să găsească drept soluție doar numere prime sau să spună că nu există. El nu crede că se va descurca și vă cere ajutorul. Scrieți un program care, primind o ecuație ca cele descrise mai sus, verifică dacă aceasta are drept soluție numere prime, iar, în caz afirmativ, afișează soluția în care x are valoarea minimă.

Zoli și D’Umbră se pierd din nou prin labirint.

Se dă numărul n în baza b, să se afișeze numărul n în convertit în baza c.

#2538 xOy

Laur desenează un sistem cartezian xOy și marchează 3 puncte necoliniare pe care le notează cu A, B și C, având coordonatele cunoscute \( (X_A, Y_A) \), \( (X_B, Y_B) \) și \( (X_C, Y_C) \). Vine Laurențiu și îi șterge sistemul de coordonate, lăsând doar punctele A, B și C, iar apoi desenează un alt punct, P, de coordonate nedeterminate. Laur va măsura distanța dintre punctul P și punctele A, B, respectiv C, obținând valori care, ridicate la pătrat, vor fi notate cu \( D_{PA}^{2} \), \( D_{PB}^{2} \), respectiv \( D_{PC}^{2} \). Cunoscându-se coordonatele celor 3 puncte desenate de Laur, precum și pătratul distanțelor dintre punctul P și acestea, să se afle coordonatele în xOy ale punctului P.


Best of CNCV /s '19

#2802 Clasa

Se citește de la tastatură numărul n și un număr p cu valoarea 1 sau 2 și apoi n șiruri de tip nume prenume media1 media2 media3 separate prin spații.

Pentru p=1, se va afișa numărul elevilor care au media generală mai mare sau egală decât media clasei.

Pentru p=2, se va afișa pe primul rând media clasei și pe următoarele n rânduri, numele, prenumele și media generală a fiecărui elev, separate printr-un singur spațiu, sortat descrescător după medie; la medii egale se sortează crescător după nume, iar la nume egale crescător după prenume.

#2649 reactii

Să considerăm o secvenţă de n substanţe chimice \( s= s_{1}, s_{2},…,s_{n} \). Substanţele sunt numerotate distinct de la 1 la n şi fiecare substanţă apare în secvenţa s o singură dată.

Să considerăm o subsecvenţă \( s_{i, j} =s_{i},s_{i+1},…,s_{j} \) şi să notăm cu \( min_{i, j} \) şi \( max_{i, j} \) cel mai mic, respectiv cel mai mare număr din subsecvenţă. Subsecvenţa respectivă constituie un interval dacă ea conţine toate numerele naturale cuprinse între \( min_{i, j} \) şi \( max_{i, j} \).

Cu substanţele din secvenţa s se vor efectua diferite experimente. În timpul unui experiment pot reacţiona două substanţe alăturate \( s_{i} \) şi \( s_{i + 1} \) doar dacă numerele lor de ordine sunt consecutive. În urma reacţiei se obţine o nouă substanţă, formată din substanţele care au reacţionat, notată ( \( s_{i} \), \( s_{i + 1} \) ). Mai mult, substanţele obţinute pot reacţiona dacă ele sunt alăturate, iar prin reunirea subsecvenţelor de substanţe ce le compun se obţine un interval.

Experimentul este declarat reuşit dacă în final, urmând regulile de mai sus, se obţine o singură substanţă formată din toate cele n substanţe din secvenţa s, aceasta fiind declarată stabilă.

De exemplu, pentru n=6 substanţe şi secvenţa s=6,3,2,1,4,5 se poate proceda astfel:

Nu din orice secvenţă de substanţe se poate obţine în urma reacţiilor o substanţă finală stabilă.

#2899 timbre

Vasilică a devenit filatelist pasionat. Din acest motiv toți prietenii i-au adus de ziua lui timbre, foarte multe timbre. Acum încearcă să organizeze timbrele primite. Fiecare timbru face parte dintr-o serie și are o valoare. Timbre distincte din aceeași serie au valori distincte. Este posibil ca Vasilică să fi primit și dubluri (adică să fi primit același timbru de mai multe ori). Valoarea unei serii este egală cu suma valorilor timbrelor distincte din seria respectivă. Dublurile nu contribuie la valoarea seriei, dar Vasilică le poate folosi pentru a face schimb de timbre cu alți filateliști. Cunoscând lista timbrelor primite, scrieți un program care să rezolve următoarele cerințe:
1. determină numărul de serii distincte din care fac parte timbrele primite;
2. determină numărul de timbre unicat (care nu au dublură);
3. determină seriile cu cea mai mare valoare.

Olimpiada Municipală Iași, clasele VII-VIII

La un supermarket există două case de marcat la care clienții își pot plăti cumpărăturile. Când intră în magazin, fiecare client primește un număr unic. Când aceștia vor să plătească, se așază la rând la una dintre cele două case. Clienții sunt procesați pe rând, în ordinea venirii lor.
Scrieți un program care procesează cozile de la casele de marcat. Acest program primește N instrucțiuni pe care trebuie să le execute. Aceste instrucțiuni pot fi de următoarele 4 tipuri:

  • 1 – S-a eliberat casa de marcat numărul 1. Trebuie afișat numărul clientului care urmează la rând; dacă nu este nimeni la coadă la casa respectivă, se va afișa -1.
  • 2 – S-a eliberat casa de marcat numărul 2. Trebuie afișat numărul clientului care urmează la rând; dacă nu este nimeni la coadă la casa respectivă, se va afișa -1.
  • 3 x – Clientul cu numărul x se așază la coadă la casa la care așteaptă mai puțini clienți; dacă la ambele case așteaptă același număr de clienți, atunci clientul cu numărul x se va așeza la coadă la casa 1; trebuie afișată coada la care se așază clientul x. Se garantează că acest client nu este deja așezat la vreun la rând.
  • 4 x – Clientul cu numărul x părăsește rândul la care așteaptă (se garantează că era deja la un rând); în acest caz nu trebuie afișat nimic.

Olimpiada Municipală Iași, clasa a X-a

#2894 Barlog

Este anul 2019, dar Zmeul-Cel-Rău și Făt-Frumos luptă în continuare. Zmeul l-a prins pe Făt-Frumos şi l-a închis în una dintre camerele bârlogului său. Un bârlog de zmeu are forma unui tablou bidimensional, în care camerele sunt plasate sub forma a n linii și m coloane. Vom numerota liniile de la 1 la n, iar coloanele de la 1 la m, astfel că fiecare cameră poate fi identificată prin numărul liniei și al coloanei pe care se află.

Orice cameră are patru pereți și câte o ușă pe fiecare perete prin care poate comunica cu camerele învecinate. Mai exact, camera de pe linia i și coloana j poate comunica cu camerele (i-1,j), (i,j+1), (i+1,j), (i,j-1) (desigur, dacă acestea există). Fiecare cameră are asociat un cod. Ușile din orice cameră se pot deschide cu o cartelă magnetică. Dacă codul camerei este un subșir al cuvântului memorat pe cartela magnetică, atunci ușile din camera respectivă se vor deschide folosind cartela. Ileana Cosânzeana a reușit să-i trimită lui Făt-Frumos o cartelă magnetică.

Scrieți un program care rezolvă următoarele două cerințe:
1. determină numărul de camere în care ar putea ajunge Făt-Frumos folosind cartela primită de la Ileana Cosânzeana;
2. determină numărul minim de camere prin care trece Făt-Frumos pentru a ieși din bârlogul zmeului (adică poate deschide ușa unei camere prin care ajunge în exteriorul bârlogului).

Olimpiada Municipală Iași, clasa a X-a

#2716 UnuDoi

Se dă operația \( \overline{x} : \left\{ 1,2 \right\} \rightarrow \left\{ 1,2 \right\}\) astfel încât \( \overline{1}=2 \) și \( \overline{2}=1 \). Operația se poate extinde asupra oricărei secvențe formate cu cifre de 1 și 2, de exemplu \( \overline{121121212}= 212212121\).

Se consideră șirul infinit s format cu cifre de 1 și 2, generat incremental prin extindere, după următoarea regulă de concatenare:

  • \( s_1 = 1221 \)
  • \( s_2 = 1221211221121221 \)
  • \( s_{k+1} = s_k\overline{s_k}\overline{s_k}s_k \), pentru orice număr natural k.

Dându-se un număr natural n, să se determine a n-a cifră a șirului infinit s.