Cuvânt înainte.....

După o vară lungă şi frumoasă iată că ne apropiem de primele zile de şcoală. Pentru a vă uşura reacomodarea cu programarea, sau pur şi simplu pentru a vă delecta in compania problemelor de informatică am creat acest blog.

9/01/2011

Concurs

La un concurs de matematică participă elevi din mai multe şcoli din diferite oraşe. Pentru a se putea deosebi între ele lucrările lor, fiecare lucrare este codificată printr-un număr natural cu 3 cifre, să zicem abc, unde a (cifra sutelor) este codul oraşului, b (cifra zecilor) este codul şcolii din oraşul a, iar c (cifra unităţilor) este codul unui elev din şcoala b din oraşul a. Exemplu: lucrarea cu codul 328 este lucrarea elevului cu codul 8 de la şcoala cu codul 2 din oraşul cu codul 3.
Se cunosc: un cod (al lucrării unui elev H, prietenul nostru), numărul n de lucrări premiate şi codurile acestora.

Cerinţă
Se cere să se rezolve cerinţele:
a) Verificaţi dacă H este premiant, sau nu.
b) Determinaţi numărul de premii luate de elevii din oraşul lui H (inclusiv H, dacă a fost premiat).
c) Determinaţi numărul de premii luate de elevii din şcoala lui H (inclusiv H, dacă a fost premiat).

Date de intrare
De la tastatură se citesc: codul lui H, n, cele n coduri premiate.

Date de ieşire
            Cele 3 răspunsuri se vor afişa pe ecran, pe câte un rând. Pentru prima cerinţă se va afişa un mesaj (DA, sau NU), după cum H a luat, sau nu a luat premiu. La cerinţele b) şi c) se va scrie câte un număr. Fiecare răspuns va fi precedat de o literă (a, b, sau c), pentru a se preciza la ce cerinţă s-a răspuns.

Restricţii
n este un număr natural nenul; n<20.
Codul de oraş (cifra sutelor din fiecare cod) este de la 1 la 5, inclusiv. Codurile şcolilor din fiecare oraş (cifra zecilor) este de la 0 la 9, inclusiv, iar codul elevilor (cifra unităţilor) este tot de la 0 la 9 inclusiv.

Observaţie

Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Pentru codul lui H: 234, numărul n=6 şi cele 6 coduri ale lucrărilor premiate: 123, 232, 125, 222, 421 şi 235, se vor da răspunsurile:
a)  NU
b)  3
c)  2

Explicaţie 
a) codul lui H nu se regăseşte printre cele citite (premiate), deci mesajul este NU
b) lucrările premiate din orasul lui H (cu cifra sutelor egală cu 2) sunt în număr de 3:   232, 222 şi 225
c) lucrările premiate din şcoala lui H (cu cifra sutelor egală cu 2 şi cu cifra zecilor egală cu  3) sunt în număr de 2:   232 şi 235.
Read more >>

Cifre

Se dau două numere naturale a, b cu maxim 9 cifre.
  
Cerinţe

a) Să se determine cifrele distincte, comune numerelor a şi b.
b) Să se afişeze numărul cel mai mare format din toate cifrele lui a şi b.

Date de intrare

Datele de intrare se citesc de la tastatură.

Date de ieşire

Datele de ieşire se afişează pe ecran. Răspunsul la fiecare subpunct va fi precedat de a), respectiv b) (vezi exemplul).

Observaţie
Datele de intrare sunt corecte (nu necesită validare).

Exemplu
Pentru datele de intrare:
a=2115
b=29025
se va afişa:
a) 2 5
b) 955222110
Read more >>

Gardul

   Doi copii vopsesc un gard alcătuit din n scânduri pe care le vom numerota de la 1 la n astfel: primul ia o cutie de vopsea roşie cu care vopseşte scândurile cu numărul p, 2p, 3p, etc. Al doilea procedează la fel, începe de la acelaşi capăt al gardului, dar ia o cutie de vopsea albastră şi vopseşte din q în q scânduri. Astfel, când vor termina de vopsit, gardul va avea multe scânduri nevopsite, unele scânduri vopsite în roşu, altele în albastru, iar altele în violet (cele care au fost vopsite şi cu roşu şi cu albastru).

Cerinţă
Cunoscând numerele n, p şi q afişaţi :
a) câte scânduri rămân nevopsite
b) câte scânduri sunt vopsite în roşu
c) câte scânduri sunt vopsite în albastru
d) câte scânduri sunt vopsite în violet.

Date de intrare
De la tastatură se citesc n, p şi q.

Date de ieşire
Pe ecran se vor afişa cele patru numere naturale, câte unul pe un rând ca în exemplu.

Restricţii
n≤100000

Exemplu
Pentru
n=25
p=4
q=6
se va afişa :  
a)17
b) 4 
c) 2
d) 2

Observaţie
Exemplul corespunde situaţiei următoare :
.
.
.
R
.
A
.
R
.
.
.
V
.
.
.
R
.
A
.
R
.
.
.
V
.
A-albastru
R-roşu
V-violet
Read more >>

Visul


Sinbad Marinarul visează că se află într-o peşteră cu comori. Peste tot se aflau cufere pline cu bijuterii şi monezi din aur, iar peştera era luminată de strălucirea lor. Şi în timp ce  Sinbad se minuna de toate  splendorile din jurul său, se auzi o voce misterioasă, care spuse:

“Există o posibilitate de a ajunge aici şi dacă reuşeşti toate aceste comori vor fi ale tale. Această pesteră se află în vârful muntelui Ararat,dar pe drum, duhurile rele vor încerca să te oprească. Tu trebuie sa lupti cu ele şi să le învingi în luptă dreaptă. Pentru a deschide peştera, trebuie sa–ţi aminteşti câte duhuri ai învins şi să rosteşti cu voce tare formula magică. Formula magică este cel mai mic număr, care are atât prima cifră cât şi numărul de cifre, egale cu numărul duhurilor rele învinse de tine. Dar atentie! Acest număr, trebuie în plus să aibă proprietatea că orice secvenţă de două cifre consecutive trebuie să fie numere prime diferite.”

            În acest moment, Sinbad s-a trezit şi vrea să plece în căutarea comorii. Nu se teme de duhurile rele, dar ştie câte calcule necesită căutarea formulei magice (şi mai ştie că la matematica nu se descurcă foarte bine). De aceea, vă roagă să-l ajutaţi.

Cerinţă

Simbat vă va spune numărul n (reprezentând numărul duhurilor rele învinse de el), iar tu trebuie să-i spui formula magică. În cazul în care nu există un astfel de număr,  spuneţi-i lui Sinbad că a fost doar un vis şi că e timpul să se pregătească pentru şcoală.

Date de intrare
De la tastatură se citeşte n.

Date de ieşire
Pe ecran se va afişa un singur număr natural, adică cel cerut de problemă. Dacă nu există soluţie se va afişa mesajul Nu exista

Restricţii
n≤10

Exemplu
Pentru
n=3
se va afişa
311

Observaţie
În exemplu se afişează 311 pentru că: 31 este număr prim, 11 este număr prim
Read more >>

Pinochio

În fiecare zi nelucrătoare din săptămână, Pinochio spune câte o minciună datorită căreia nasul acestuia creşte cu câte p centimetri pe zi. Sâmbăta şi duminica, când vine bunicul Gepeto acasă, pentru a nu-l supăra prea tare, Pinochio reuşeşte să nu spună nici o minciună, ba chiar uitându-se în oglindă observă că în fiecare din aceste zile lungimea nasului său scade cu cate 1 centimetru pe zi. Când începe o nouă săptămână, rămânâd singur acasă Pinochio continuă şirul minciunilor.

Cerinţă
Care este dimensiunea nasului lui Pinochio după k zile ştiind că iniţial nasul său măsura  n centimetri.

Date de intrare
De la tastatură se citesc n, p şi k.

Date de ieşire
Pe ecran se va afişa un singur număr natural, adică numărul de centimetri cerut de problemă.

Restricţii
1≤n≤1000,  1≤k≤256,  1≤p≤100
Exemplu
Pentru
n=2
p=1
k=8
se va afişa
6 cm

Observaţie
Pentru orice exemplu zilele încep cu luni. Pe exemplul anterior zilele sunt luni, marţi, miercuri, joi, vineri, sâmbătă, duminică, luni.
Read more >>

Cuburi

 Fratele cel mic al lui Gigel primise de la Moş Crăciun un joc de cuburi colorate. Gigel tocmai terminase clasa a V-a  şi nu se mai juca cu aşa ceva, dar când nu se uitau ceilalţi parcă l-ar fi însoţit pe cel mic la joc, mai ales când  acesta înşira cele n cuburi unul după altul, iar lui îi treceau prin cap tot felul de cerinţe pe care proful său de info le-ar fi putut scorni:
a.    să vedem câte culori sunt în total;
b.    care culoare este folosită pentru cele mai multe cuburi;
c.    ce cub ar trebui scos din şir astfel încât să se formeze din cuburile rămase un şir cât mai lung de cuburi alăturate de aceeaşi culoare.

Cerinţă
Se citesc de la tastatură n, numărul de cuburi, şi apoi, de pe aceeaşi linie, o succesiune de n numere de culori, separate prin spaţii. Culorile sunt numerotate începând cu 1. Se cere să se afişeze pe ecran câte un răspuns pe o câte o linie nouă pentru fiecare cerinţă.

Precizări
1.    Dacă la cerinţele b, c sunt mai multe soluţii se vor preciza toate.
2.    N este numar natural mai mic decât 50, iar culorile sunt în număr de maximum 10, numerotate de la 1 la 10.

Exemplu

Dacă programul va citi numărul de cuburi n=15 , apoi culorile cuburilor:
5 2 5 2 2 3 3 2 3 5 3 3 3 2 2

Programul va afişa pe ecran:
Numarul de culori utilizate: 3
Cele mai utilizate culori: 2 3
Putem scoate un cub de pe una din pozitiile: 10
Read more >>

Viespi


Pe o insulă, după multiple experimente chimice se produce un fenomen extrem de periculos. Viespile se înmulţesc foarte repede producând pagube mari. Guvernatorul ia hotărârea ca după n zile să se evacueze insula. Se cere să se determine numărul de viespi existente în ziua de plecare, ştiind că în prima zi după fenomen sunt p viespi, în a doua zi q viespi, iar în zilele cu numărul de ordine k (2<k<n+1) numărul de viespi este egal cu de patru ori numărul de viespi din ziua k-1, minus numărul de viespi din ziua a k-2.

Date de intrare:
|n fişierul text VIESPI.IN se află pe prima linie n, iar pe a doua linie p şi q cu un spaţiu între ele.


Date de ieşire:
|n fişierul text VIESPI.OUT se va scrie pe prima linie numărul de viespi după cele n zile.

Restricţie

0<n,p,q<101

Exemplu:

VIESPI.IN
4
2 3

VIESPI.OUT
37
Read more >>

Balaur

A fost o dată un balaur cu 6 capete. Într-o zi Făt-Frumos s-a supărat şi i-a tăiat un cap. Peste noapte i-au crescut alte 6 capete în loc. Pe acelaşi gât! A doua zi, Făt-Frumos iar i-a tăiat un cap, dar peste noapte balaurului i-au crescut în loc alte 6 capete ... şi tot aşa timp de n zile. În cea de a (n+1)-a zi, Făt-Frumos s-a plictisit şi a plecat acasă!
Cerinţă
Scrieţi un program care citeşte de la tastatură n, numărul de zile, şi care afişează pe ecran câte capete avea balaurul după n zile.

Exemplu

Pentru n=3, programul va afişa:
Dupa 3 zile balaurul are 15 capete.

Explicaţie:
Iniţial balaurul avea 6 capete. În prima zi Făt-Frumos i-a tăiat un cap şi i-au rămas 5.
Peste noapte i-au crescut alte 6, deci a doua zi dimineaţa balaurul avea 11 capete. În cea de a doua zi Făt-Frumos îi mai taie balaurului un cap, deci balaurul rămâne cu 10 capete. Peste noapte îi mai cresc 6, astfel că a treia zi dimineaţă balaurul avea 16 capete. Dar în cea de a treia zi Făt-Frumos îi mai taie balaurului un cap, deci după cea de a treia zi balaurul a rămas cu 15 capete.

Read more >>

La şcoală


Directorul unei şcoli doreşte să premieze la sfârşitul anului şcolar pe cei mai buni elevi la învăţătură. Pentru acest lucru el are de rezolvat două probleme:
1.      Să determine câţi elevi vor fi premiaţi dintre cei n (2<n<700) elevi ai şcolii. După discuţii aprinse cu ceilalţi profesori se hotărăşte în Consiliul Profesoral ca numărul premianţilor să fie n-k, unde k este cel mai mare număr pătrat perfect mai mic strict decât n. De exemplu, pentru n=150, k este 144 (pentru că 144=122), deci vor fi premiaţi 150-144=6 elevi.
2.      Pentru a fi cât mai multă linişte la premiere, în Consiliul Profesoral se ia decizia  ca elevii care nu vor fi premiaţi să fie aşezaţi pe terenul de sport pe rânduri de câte p elevi (unde p2=k). În acest scop, directorul a numerotat elevii nepremiaţi de la 1 la k şi a hotărât ca elevii să fie aşezaţi în ordinea descrescătoare a numerelor asociate.

 

Cerinţă

Scrieţi un program care:
        citeşte de la tastatură n, numărul de elevi din şcoală;
        determină şi afişează pe ecran numărul de elevi premiaţi;
        afişează pe ecran modul de aşezare a elevilor nepremiaţi

Exemplu

Un exemplu de execuţie a programului creat de voi ar putea fi:
Introduceţi numărul de elevi din scoala n = 35
Numarul de elevi premiati: 10
Elevii nepremiati:
25 24 23 22 21
20 19 18 17 16
15 14 13 12 11
10  9  8  7  6
 5  4  3  2  1

Read more >>