Lista de probleme 36

Filtrare

Se citesc perechi de numere naturale până la citirea a două valori nule. Să se calculeze suma numerelor din perechile pentru care atât valorile inițiale cât și oglinditele lor sunt prime între ele.

Fie c o cifră, iar s un şir de n numere naturale. Utilizând toate cifrele impare ale unităţilor numerelor din s, se construieşte un nou şir de numere naturale v cu proprietăţile următoare:

  1. toate numerele din şirul v au acelaşi număr de cifre
  2. fiecare număr din v este format doar din cifre identice
  3. şirul v este format din cel mai mic număr de valori naturale care au proprietăţile 1. şi 2.

Scrieţi un program care să citească numerele c, n şi şirul s, şi să determine:
a) suma tuturor numerelor din şirul s care au proprietatea că sunt numere prime
b) numărul de apariţii ale cifrei c în scrierea zecimală a tuturor numerelor din şirul s
c) numărul minim de numere din şirul v

Un perete dreptunghiular de lățime L și o înălțime foarte mare (teoretic infinită) trebuie să fie protejat la bază cu plăci dreptunghiulare de faianță, de dimensiuni A și respectiv B. Plăcile se monteză una lângă cealaltă, pe mai multe rânduri orizontale, de jos în sus, pe fiecare rând de la stânga la dreapta, TOATE plăcile fiind așezate ”în picioare” (cu latura de mărime A pe orizontală și cea de mărime B pe verticală) sau TOATE ”culcate” (cu latura de mărime B pe orizontală și cea de mărime A pe verticală). Pentru a nu se pierde material, dacă la capătul unui rând nu încape o placă întreagă, se taie din ea porțiunea necesară, porțiunea rămasă fiind folosită la începutul rândului următor.

Pe rândul al doilea se montează plăcile în continuare în același mod, completându-l la capăt cu o porțiune de placă, restul de placă fiind folosit pe rândul al treilea etc. până ce rândul se încheie cu o placă întreagă, nemaifiind necesară nicio completare cu o porțiune de placă. În acest moment procesul de placare se încheie.Dacă primul rând se încheie cu placă întreagă, atunci placarea se încheie cu un singur rând completat.

Cunoscând lățimea L a peretelui și dimensiunile A și B ale plăcilor de faianță, stabiliți înălțimea maximă placată care se poate obține după metoda descrisă mai sus.

#2371 Biliard

Avem la dispoziție o masa de biliard dreptunghiulara. O bila pornește din colțul stânga jos al dreptunghiului sub un unghi de 45 grade față de latura de jos a dreptunghiului și lovește latura de sus sau latura din dreapta. Aici ricoșează (pornește spre o altă latură tot sub un unghi de 45 grade față de latura de care s-a lovit). Își continuă drumul până când ajunge într-un colț al dreptunghiului.

Scrieți un program care calculează de câte ori (nrSchimb) mingea își schimbă direcția de mers până când se oprește într-un colț. Punctul de pornire nu se numără.

#3118 TortO

Un tort dreptunghiular de dimensiuni MxN trebuie împărţit în porţii pătrate de aceeaşi mărime. Găsiţi numărul minim de porţii care se pot obţine şi dimensiunea L a acestora. Atât dimensiunile dreptunghiului cât şi ale pătratelor în care se împarte sunt numere întregi.

#1590 Arma1

În anul 2214 a izbucnit primul război interstelar. Pământul a fost atacat de către n civilizaţii extraterestre, pe care le vom numerota pentru simplicitate de la 1 la n.

Pentru a se apăra, pământenii au inventat o armă specială ce poate fi încărcată cu proiectile de diferite greutăţi, fabricate dintr-un material special denumit narun. Dacă arma este programată la nivelul p, atunci un proiectil de greutate k va ajunge exact la distanţa kp km (k la puterea p) faţă de Pământ şi dacă în acel punct se află cartierul general al unui atacator, acesta va fi distrus. De exemplu, dacă arma este programată la nivelul 2, un proiectil de greutate 10 va distruge cartierul general al extratereştrilor situat la distanţa 102 = 100 km de Pământ.

Arma poate fi încărcată cu proiectile de diferite greutăţi, dar cum narunul este un material foarte rar şi foarte scump, pământenii vor să folosească proiectile cât mai uşoare pentru a distruge cartierele generale inamice.

Cunoscându-se n, numărul atacatorilor, precum şi cele n distanţe până la cartierele generale ale acestora, să se scrie un program care determină:

  • cantitatea minimă de narun necesară pentru a distruge toate cartierele generale inamice;
  • nivelurile la care trebuie programată arma, pentru a distruge fiecare cartier general inamic cu o cantitate minimă de narun.

#741 Mins

În planul xOy se desenează un dreptunghi cu laturile paralele cu axele de coordonate. Coordonatele vârfurilor din stânga-jos şi dreapta-sus ale dreptunghiului sunt: (0,0) şi (c,d). Fie P mulţimea punctelor situate în interiorul dreptunghiului, ale căror coordonate sunt numere naturale. Prin desenarea unui număr minim m de segmente de dreaptă, se uneşte vârful de coordonate (0,0) cu fiecare punct din mulţimea P. Astfel, fiecare punct din P va aparţine interiorului unui segment din cele m sau va fi o extremitate a unui segment din cele m.

Scrieţi un program care să citească numerele naturale c şi d, şi care să determine numărul minim m de segmente de dreaptă desenate.

Se dă un șir de n fracții. Fiecare fracție este dată printr-o pereche de numere reprezentând numărătorul și numitorul fracției. De exemplu 2010 34 reprezintă fracția \( 2010 \over 34\) . O fracție poate fi ireductibilă sau se poate
simplifica. În exemplul precedent, \( 2010 \over 34\) se simplifică prin 2 și rezultă \( 1005 \over 17\).

Să se afișeze, pentru fiecare fracție:

1) Prin câte moduri distincte se poate simplifica.
2) Fracția ireductibilă.

Se citește un număr natural n. Acest număr se “împarte” în alte două numere x și y, astfel: x este format din cifrele din prima jumătate a lui n, y este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc va fi prima cifră a lui y. De exemplu, dacă n=88132, atunci x=88, iar y=132.

Să se determine cel mai mare divizor comun al lui x și y.

Olimpiada locală de Informatică, Prahova, 2016

#2114 Vapoare

În portul Constanţa sunt ancorate două vapoare pline cu marfă. Ele fac curse repetate către două destinaţii diferite. Se ştie că primul vapor ajunge la destinaţia stabilită după un număr X de săptămâni, iar al doilea vapor după un număr Y de săptămâni. Drumul înapoi ia acelaşi timp. Armatorul celor 2 vapoare vrea să ştie după câte zile cele 2 vapoare pleacă din nou concomitent din port. Se mai ştie faptul că pentru manevrarea mărfurilor primului vapor îi sunt necesare z1 zile, iar celui de al doilea z2 zile.

Scrieţi un program care determină numărul de zile după care cele 2 vapoare pleacă din nou concomitent din portul din care au plecat.