Lista de probleme 81

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

#2107 Pomi

În livada sa, Vasile are pomi fructiferi, organizaţi în parcele în funcţie de soi. În fiecare an, scoate la vânzare doar o parte dintre pomii adulţi dintr-o singură parcelă. Ca să asigure spaţiu de dezvoltare pentru pomii rămaşi, Vasile s-a decis să fie scoşi la vînzare numai acei pomi din parcelă al căror număr de ordine este divizibil cu o cifră k, numită cifra anului.

Cunoscând valorile a şi b, reprezentând numerele de ordine ale primului, respectiv ultimului pom din parcela din care se face vânzarea, precum şi kcifra anului, se cere să se determine numărul de pomi scoşi la vânzare de Vasile în acest an.

Olimpiada Municipala Informatica Iasi 2013

#2108 Fraze

Alina este pasionată de rebus şi literatură. Recent, a citit un articol în limba engleză despre fraze denumite pangram. O frază pangram este formată din cuvinte, separate printr-un singur caracter (spaţiu sau virgulă) şi care folosește fiecare literă din alfabetul unei limbi cel puțin o dată.
O frază pangram perfectă este o frază pangram care folosește fiecare literă din alfabet doar o singură dată. Alina se decide să stabilească frazele pangram, numărul de fraze pangram şi numărul de fraze pangram perfecte dintr-un text. Fiecare frază din text începe cu o literă mare şi se încheie cu caracterul punct.

Scrieţi un program care să determine numărul de fraze pangram, numărul de fraze pangram perfecte dintr-un text dat şi să afişeze frazele pangram în ordine lexicografică.

Olimpiada Municipala Informatica Iasi 2013

#2116 Smiley

Pentru a exprima starea de spirit în comunicarea online sunt utilizate emoticonurile (cunoscute şi sub denumirea de smileys). În mod text, un smiley este reprezentat ca o secvenţă de caractere.

Dat fiind un text, să se determine numărul de smileys care apar în text.

Olimpiada Municipala Informatica Iasi 2015

Camelia este pasionată de operații aritmetice. Într-o zi, s-a gândit să evalueze valoarea unei expresii ce este formată din litere mici şi operatorii: +, <, >. În expresie, fiecare literă va fi înlocuită cu numărul de ordine pe care îl are în alfabet (a=1, b=2 etc.). Prietena ei, Mădălina i-a pregătit Cameliei mai multe expresii de acest tip, pe care să le evalueze și apoi să determine care este numărul cel mai mare, obținut dintr-un șir de litere, din expresiile date.

Scrieţi un program care determină pentru un şir de n expresii, formate din litere mici şi operatorii: +, <, >, două cerinţe:
-cerinţa 1: să determine numărul cel mai mare, obținut dintr-un șir de litere, din expresiile date;
-cerinţa 2: să evalueze fiecare expresie și să afișeze valoarea ei.

Olimpiada Municipala de Informatica, Iasi, 2017

#2212 eval

Să considerăm o expresie aritmetică care conţine ca operanzi numai variabile al căror nume este format dintr-o singură literă mică a alfabetului englez. Valorile iniţiale ale variabilelor ce pot interveni în expresie sunt: a = 1, b = 2, …, z = 26. În expresie pot fi utilizaţi doi operatori binari (+ şi , reprezentând adunarea şi respectiv scăderea) şi doi operatori unari (++ şi --, reprezentând operatorul de incrementare şi respectiv operatorul de decrementare). Operatorii unari ++ şi –– pot fi plasaţi numai înainte sau după o variabilă. Dacă operatorul unar ++ apare înaintea unei variabile, atunci valoarea variabilei este mărită cu 1 înainte ca valoarea variabilei să fie luată în calculul expresiei. De exemplu, valoarea expresiei ++c–b este 2, iar valoarea variabilei c după evaluarea expresiei va fi 4. Când operatorul unar ++ apare după variabilă, valoarea variabilei este mărită cu 1 după ce valoarea acelei variabile este folosită la calculul expresiei. De exemplu, valoarea expresiei c++–b este 1, iar valoarea variabilei c după evaluarea expresiei va fi 4. Operatorul –– se comportă la fel, cu observaţia că valoarea variabilei se va micşora cu 1. Operatorii unari au prioritate mai mare decât cei binari (mai exact, se execută mai întâi incrementările/decrementările, apoi adunările şi scăderile). În cazul în care există mai multe operaţii cu aceeaşi prioritate, acestea vor fi executate în ordine, de la stânga la dreapta. Scrieţi un program care să determine valoarea unei expresii, precum şi valorile finale ale variabilelor folosite în expresie.

Olimpiada Municipala de Informatica, Iasi, 2007

#2352 careu

Gigel a inventat un nou joc, de această dată utilizând un rebus sub forma de tablă pătratică cu n x n căsuțe. Fiecare căsuță conține câte o literă mare din alfabetul englez sau caracterul '.'. Literele formează pe orizontală sau pe verticală cuvinte delimitate prin caractere punct sau prin marginile tablei. Cel care joacă trebuie să determine cuvintele speciale din careu. Punctajul unui cuvânt se calculează ca suma codurilor ASCII ale literelor distincte care apar în acel cuvânt. Punctajul total al jocului se calculează însumând punctajele literelor distincte ale cuvintelor speciale distincte. Un cuvânt special îndeplinește simultan condițiile:

  • este palindrom
  • are lungime maximă relativ la alte cuvinte palindrom

Să se scrie un program care sa determine, pentru un careu dat, punctajul maxim și cuvintele care permit obținerea punctajului maxim. Dacă nu există astfel de cuvinte se va afișa valoarea 0.

Olimpiada Municipala de Informatica, Iasi, 2018

#2444 eq4

Se dă o expresie matematică în care pot să apară literele x, y, z, t, cifre și semnele + sau -.
Cifrele alăturate formează numere. Literele reprezintă variabile. O variabilă poate fi precedată de un număr. Între variabilă și numărul care o precede nu există alte caractere. Un grup format dintr-o literă și, eventual, un număr care o precede formează un monom. Un monom nu conține mai multe litere. Numărul care apare într-un monom se numește coeficient.
Expresia poate să conțină și numere care nu sunt urmate de o variabilă. Aceste numere se numesc termeni liberi.
Expresia este deci alcătuită din monoame și termeni liberi. Fiecare monom și fiecare termen liber este precedat de unul dintre semnele + sau -.
Valoarea matematică a unei expresii este valoarea care se obține dacă înlocuim literele care apar în expresie cu valori numerice și efectuăm calculele. Valoarea unui monom se obține înmulțind coeficientul monomului cu valoarea pe care o are variabila care apare în respectivul monom. De exemplu, valoarea expresiei +3x pentru x=2 este 6.
Fiind dată o expresie corectă, să se determine:
1. valoarea matematică a expresiei dacă x, y, z și t au valoarea 1.
2. numărul de cvartete distincte (x,y,z,t), de valori întregi care aparțin unui interval dat [a,b], pentru care expresia matematică corespunzătoare expresiei date este egală cu o valoare dată E. Două cvartete sunt distincte dacă există cel puţin o poziţie pentru care valorile corespunzătoare sunt diferite.

#2471 gcl

Gigel a inventat un nou limbaj de programare pe care l-a numit GCL (Gigel Campion Language). În GCL pot fi utilizate maxim 26 variabile notate cu litere mici ale alfabetului englez. Valoarea inițială fiecărei variabile (la începutul execuției programului) este 0.

Un program în limbajul GCL este format dintr-o succesiune de comenzi, câte o comandă pe o linie. Scrieți un program care citește un program scris limbajul GCL și rezolvă următoarele două cerințe:

1. determină numărul de comenzi SCRIE care se execută;
2. determină rezultatele afișate de comenzile SCRIE din programul scris în limbajul GCL.

#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

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ă.