You are on page 1of 8

I.

Probleme diverse Pinochio n fiecare zi nelucrtoare din sptmn, Pinochio spune cte o minciun datorit creia nasul acestuia crete cu cte p centimetri pe zi. Smbta i duminica, cnd vine bunicul Gepeto acas, pentru a nu-l supra prea tare, Pinochio reuete s nu spun nici o minciun, ba chiar uitndu-se n oglind observ c n fiecare din aceste zile lungimea nasului su scade cu cate 1 centimetru pe zi. Cnd ncepe o nou sptmn, rmnd singur acas Pinochio continu irul minciunilor. Cerin Care este dimensiunea nasului lui Pinochio dup k zile tiind c iniial nasul su msura n centimetri. Date de intrare De la tastatur se citesc n, p i k. Date de ieire Pe ecran se va afia un singur numr natural, adic numrul de centimetri cerut de problem. Restricii n1, 1k256, 1p100 Exemplu Pentru n=2 p=1 k=8 se va afia 6 cm Observaie Pentru orice exemplu zilele ncep cu luni. Pe exemplul anterior zilele sunt luni, mari, miercuri, joi, vineri, smbt, duminic, luni. II. Algoritmi elementari 1. Prelucrarea cifrelor unui numar natural
ntreg n, cifra citete n ct timp n!=0 execut cifra n % 10 //prelucreaza cifra n n/10 sf-ct timp

Nunt n ara Numerelor Enun n ara Numerelor vine i ziua n care Numr mprat trebuie s-i mrite fata. El d de tire n ntreaga mprie c o va da de nevast pe Prinesa Numr, doar acelui Numr Voinic care se va potrivi cu mireasa, dar nu oricum, ci va trebui s aib aceeai lungime (ca s ncap amndoi n patul mprtesc), iar prima cifr trebui s coincid cu cea a miresei (coroanele pe care le vor purta pe cap au aceeai mrime). Ajutai-l pe Numr mprat s verifice, dac Numr Voinic venit la curte este potrivit cu Prinesa Numr. Cerin Cunoscnd numrul Prinesei i numrul Voinic, scriei un program care s determine potrivirea dintre cei doi. Date de intrare De la tastatur se citesc cele dou numere n i m, primul reprezentnd Prinesa Numr, al doilea reprezentnd Numrul Voinic (n ara Numerelor politeea este respectat). Date de ieire Rezultatul se afieaz pe ecran, codificat astfel: dou cifre separate prin spaiu, prima cifr reprezentnd potrivirea lungimilor, a doua cifr reprezentnd potrivirea coroanelor. Cifrele pot fi doar 1 i 0. Cifra 1 nseamn potrivire, iar cifra 0 nepotrivire. Restricii Numerele n i m sunt naturale. 18<n<35000 i la fel 18<m<35000 Observaii: Datele de intrare sunt corecte (nu necesit validare), adic sunt pozitive i n intervalul deschis specificat la restricii (18, 35000). Exemplu (vezi i explicaia) Pentru 367 i 381 se va afia 1 1 (cei doi se potrivesc i la lungime i la coroan Mergem la nunt!) Pentru 3673 i 38 se va afia 0 1 (voinicul are lungimea mai mic, dar se potrivete la coroan) Pentru 36 i 3815 se va afia 0 1 (voinicul are lungimea mai mare, dar se potrivete la coroan) Pentru 367 i 981 se va afia 1 0 (se potrivesc la lungime, dar voinicul are capul mai mare) Pentru 967 i 583 se va afia 1 0 (se potrivesc la lungime, dar voinicul are capul mai mic) Pentru 967 i 58 se va afia 0 0 (lungimi diferite i coroane diferite) Pentru 67 i 813 se va afia 0 0 (lungimi diferite i coroane diferite) Explicaii: Din numrul 467 deducem: lungimea 3 (are trei cifre), coroana este 4 (prima cifr). Timp maxim de executare/test: 1 secund.

2. Numere prime
ntreg n, d, prim dac (n 1) or (n mod 2=0)and (n>2) atunci prim0 altfel prim1 sf-dac d3 ct timp (d*d<=n) && prim execut dac n % d=0 atunci prim0 altfel dd+2 sf-dac sf-ct timp dac prim atunci scrienumr prim altfel scrienumrul nu este prim sf-dac stop

PIN Gigel i-a cumprat un telefon mobil nou i vrea s seteze un cod PIN, pe care s nu-l ghiceasc cu uurin oricine. Aa c s-a hotrt s aleag la ntmplare dou cifre distincte k i p de la 0 la 9, apoi cel mai mare numr prim de 4 cifre care nu conine cifrele k i p. Codul PIN (Personal Identification Number) pentru mobil este un cod de securitate i trebuie introdus la deschiderea telefonului pentru a-l putea utiliza. Cerin S se scrie un program care citete k i p, cifrele alese la ntmplare de Gigel i determin noul cod PIN pe care i l-a setat. Date de intrare Se citesc cifrele k i p. Date de ieire Se va afisa codul PIN din patru cifre, care respect criteriul ales de Gigel. Restricii 0 k, p 9 Exemple Date de intrare 27 3. Descompunere n factori primi
1) ntreg n,d,k citete n d2;k0; ct timp n%d=0 execut n n/d

Date de iesire 9949

k k+1 sf-ct timp daca k>0 atunci scrie d,^,k d3;k0; ct timp n>1 execut ct timp n%d=0 execut n n/d k k+1 sf-ct timp daca k>0 atunci scrie d,^,k dd+2;k0; sf-ct timp stop

5. Cel mai mare divizor comun a 2 numere naturale


1) ntreg a,b,r citete a,b ct timp b!=0 execut r a % b ab br sf-ct timp scrie cmmdc=, a stop 2) ntreg a,b citete a,b ct timp a!=b execut dac a>b atunci aa-b altfel bb-a sf-dac sf-ct timp scrie cmmdc=, a stop

Observaie: cmmmc(a,b)=a*b/cmmdc(a,b)
Celule Cercetatorii de la NASA au descoperit un microorganism format din N celule. Asupra acestui organism ei au descoperit ca pot sa aplice doua tipuri de operatii: 1. Divizare. Fiecare celula a microorganismului este divizata n P celule (P fiind numar prim). 2. Combinare. Se formeaza grupuri de cte T celule (T fiind de asemenea numar prim), celulele din fiecare grup combinndu-se ntr-o singura celula. T trebuie sa fie ales astfel nct operatia sa fie posibila.

Cerin
Scrieti un program care sa determine numarul minim de operatii ce trebuie sa fie aplicate pentru a transforma un microorganism cu N celule ntr-un microorganism cu M celule.

Date de intrare
Se citesc N si M.

Date de ieire

Se va afisa un singur numar natural reprezentnd numarul minim de operatii ce trebuie sa fie aplicate pentru a transforma un microorganism cu N celule ntr-un microorganism cu M celule.

Restricii
1<= N, M <= 109

Exemple: daca se citesc 2

15 se va afia 3.

Pentru a transforma microorganismul cu 2 celule ntr-unul cu 15 celule se poate proceda astfel: Divizare cu P=5 rezulta un microorganism cu 10 celule Combinare cu P=2 rezulta un microorganism cu 5 celule Divizare cu P=3 rezulta un microorganism cu 15 celule 4. Min-max pe siruri de numere, numrul de apariii
ntreg n,x,min,max citete n, x minxx maxxx pentru d2, n execut citete x dac minx>x atunci minxx dac maxx<x atunci maxxx sf-pentru scrie minx,maxx stop

4.1. Flori Pe drumul de ntoarcere dintr-o excursie un grup de n copii, numerotai cu numere distincte de la 1 la n, au vzut un cmp cu flori i l-au rugat pe oferul autocarului cu care caltoreau s opreasc pentru a culege cteva flori. ntori n autocar, fiecare copil i-a numrat florile culese. Apoi s-au gndit s pun la un loc toate florile i s fac n+1 buchete cu acelai numr de flori (n pentru mamele lor i unul pentru doamna profesoar care i nsoea) punnd, pe rnd, cte o floare n fiecare buchet. Urmnd acest procedeu, la un moment dat, au constatat c toate buchetele conin acelai numr de flori i a mai rmas un numr de flori mai mic dect numrul de buchete i s-au hotrt s pun aceste flori n buchetul pentru doamna profesoar. Cerine Cunoscnd numrul de copii i cte flori a cules fiecare copil determinai: 1. cte flori conine un buchet destinat unei mame; 2. cte flori conine buchetul pentru doamna profesoar; 3. care copii au cules cele mai multe flori. Date de intrare De la tastatur se introduc: n - numrul de copii

f1 f2 ... fn - unde fi reprezint numrul de flori culese de copilul i (1in)

Date de ieire Pe ecran se vor afia, pe linii diferite: numrul de flori dintr-un buchet destinat unei mame numrul de flori din buchetul pentru doamna profesoar c1 c2 ... ck - copiii care au cules cele mai multe flori, separai prin cte un spaiu Restricii 0 n 30 0 fi 100, i cu 1in Exemplu INTRARE 5 21 25 23 25 22 IEIRE 19 21 24

Probleme diverse 1. Gardul Doi copii vopsesc un gard alctuit din n scnduri pe care le vom numerota de la 1 la n astfel: primul ia o cutie de vopsea roie cu care vopsete scndurile cu numrul p, 2p, 3p, etc. Al doilea procedeaz la fel, ncepe de la acelai capt al gardului, dar ia o cutie de vopsea albastr i vopsete din q n q scnduri. Astfel, cnd vor termina de vopsit, gardul va avea multe scnduri nevopsite, unele scnduri vopsite n rou, altele n albastru, iar altele n violet (cele care au fost vopsite i cu rou i cu albastru). Cerin Cunoscnd numerele n, p i q afiai : a) cte scnduri rmn nevopsite b) cte scnduri sunt vopsite n rou c) cte scnduri sunt vopsite n albastru d) cte scnduri sunt vopsite n violet. Date de intrare De la tastatur se citesc n, p i q. Date de ieire Pe ecran se vor afia cele patru numere naturale, cte unul pe un rnd ca n exemplu. Restricii n100000 Exemplu Pentru n=25 p=4 q=6 se va afia : a)17 b) 4 c) 2

d) 2 Observaie Exemplul corespunde situaiei urmtoare : . . . R . A . R . . . V . . . R . A . R . . . V . A-albastru R-rou V-violet

2. Premii Se cunosc punctajele obinute de cei n elevi participani la un concurs de informatic. Regulamentul de premiere permite s se acorde doar Premiul I, Premiul II si Premiul III. tiind ca toi elevii care primesc acelasi premiu au punctaje egale, s se determine numrul total al elevilor ce vor urca pe podiumul de premiere. Cerin Scriei un program care citete de la tastatur numrul concurenilor precum i punctajele acestora i afieaza pe ecran numrul total de elevi premiai. Date de intrare Fiierul de intrare premii.in conine pe prima linie numrul n de elevi iar pe a doua linie cele n punctaje ale elevilor. Date de ieire Fiierul de ieire premii.out conine numrul total de elevi premiai. Restricii Numrul n al elevilor nu depete 1000 iar punctajul fiecruia este un numr natural cel mult egal cu 100. Exemplul 1 premii.in 10 88 99 74 62 58 80 99 88 70 88

premii.out 6 Explicatii 2 elevi primesc Premiul I (cei care au obinut 99 puncte), 3 elevi obin Premiul II (cei cu 88 puncte) i un elev (cel cu 80 puncte) primete Premiul III. 2+3+1=6 elevi premiai

Exemplul 2 premii.in 7 80 69 80 69 80 69 69

premii.out 7 Explicatii 3 elevi primesc Premiul I (cei care au obinut 80 puncte) i 4 elevi obin Premiul II (cei cu 69 puncte). 3+4=7 elevi premiai

1. problema triplu http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=1215 2. problema sumacifre http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=1203 3. Suma Ionel este foarte ncntat c a nvat s utilizeze calculatorul n rezolvarea problemelor cu multe numere. De aceasta dat l intereseaz doar numerele care au un numr impar de cifre, iar dintre toate cifrele lor, doar cifra din mijloc prezint importan. De exemplu, numrul 18742 este interesant pentru c are 5 cifre (5 este numar impar) i Ionel ia in consideraie doar cifra din mijloc, adic 7. Numrul 2341 nu prezint interes pentru el, deoarece conine 4 cifre (4 este un numr par).

Cerin S se scrie un program care citete n numere naturale i calculeaz suma cifrelor din mijlocul acelora care au un numr impar de cifre.

Date de intrare Fiierul de intrare suma.in conine pe prima linie numrul natural n, iar pe linia a doua, un ir format din n numere naturale, separate prin cte un spaiu.

Date de ieire Fiierul de ieire suma.out va conine pe prima linie numrul s obinut astfel: din fiecare numr care conine un numr impar de cifre se selecteaz cifra din mijloc i se nsumeaz aceste cifre.

Restricii si precizri 1n1000 Numerele din ir sunt mai mici dect 2000000000 Exemplu suma.in suma.out Explicaii 7 21 Numerele din ir care conin un numr impar de cifre 125 2564 8 12 451 sunt: 45692 44 125, 8, 451 i 45692. Selectm cifrele aflate in mijlocul acestora si obinem: 2 , 8, 5, i 6 (2 din 125, 8 din 8, 5 din 451 i 6 din 45692). Adunnd aceste cifre obinem: 2+8+5+6=21 4. problema ingerasi (cmmdc) http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=642

You might also like