Lista de probleme 7

Filtrare

#2213 sirdivk

Cu ajutorul a trei cifre date a, b, c, unde a > 0, se construieşte următorul şir de numere: \( a, \overline{ab}, \overline{abc}, \overline{abca}, \overline{abcab}, \overline{abcabc}, … \). De exemplu, pentru a=1, b=3, c=7, putem construi şirul: 1, 13, 137, 1371, 13713, 137137, 1371371, 13713713, … Scrieţi un program care determină câte numere divizibile cu k se găsesc în primii n termeni ai şirului dat.

Olimpiada Municipala de Informatica, Iasi, 2007

Se dă a, b și c, să se calculeze \({a}^{{b}^{c}}\) modulo \({10}^{9}+7\).

#3853 Clasa0

Astăzi în clasa 0 profesoara a numit Q copii și le-a dat 3 numere, a, b și c, copiii trebuiau să spună care este rezultatul calculului \({a}^{{C}_{b}^{c}}\), adică \({a}^{ \frac{b! }{{c! *(b-c)! }}}\), modulo \(10^9+7\). Copiii nu au știut să răspundă la întrebări așa că voi trebuie acuma să le spuneți rezultatul.

#3771 Pandemia C++

In plină perioadă de pandemie, cercetătorii unui institut vor să facă o serie de experimente pe culturi de celule. S-a observat deja că celula cercetată are o creștere liniară dependentă de cele trei zile imediat anterioare: dacă acum două zile aveam x celule, ieri aveam y iar astăzi avem z celule, atunci mâine vom avea x+ay+bz celule. Dacă într-o zi, numărul de celule depășește o valoare k, cercetătorii reduc cultura la valoarea modulo K.

Dacă, pentru un n dat, se cunoaște numărul de celule din zilele n, n-1, n-2 și se cunosc factorii de multiplicare a și b, care este numărul de celule care trebuie cultivate în primele 3 zile ale experimentului?

După ce Le. Quack a avut mare succes cu noul lui joc de cărți a decis să se apuce de scamatorii, pentru ca este pasionat de cărți îi cere patronului N cărți. Acesta așează toate cărțile pe față și se pregătește să facă o scamatorie. Acesta vrea să întoarcă toate cărțile pe spate, o operație constă în alegerea a mai multor cărți pe față adiacente și întoarcerea lor. Ca să facă totul mai interesant el alege Q persoane din public si acestea îi spun două numere, X Y, cu semnficația ca Le. Quack să facă toate trucurile posibile cu X cărți inițial pe față toate și exact Y operații de întoarcere astfel încât să ajungă cu toate cele X cărți alese pe spate. După fiecare dintre cele Q persoane el repune toate cărțile pe față. Le. Quack trebuie să numere toate posibilitățile de a face fiecare truc de magie doar că nu este bun la informatică așa că vă cere ajutorul!

#4145 CFR C++

RAU-Gigel se joacă cu noul său set de cale ferată, primit cadou de ziua lui anul acesta. Setul conține N gări distincte din diverse orașe reprezentative ale României (București, Iași, Sebeș, …), numerotate în continuare, pentru simplitate, cu numere de la 1 la N și N – 1 bucăți de șină care pot conecta între ele câte două gări distincte date (conexiunea este bidirecțională) astfel încât folosind aceste șine există un drum unic alcătuit din șine între oricare două gări distincte. Ca orice jucărie, fiecare din cele N – 1 bucăți de șină are un grad de periculozitate asociat acesteia, o valoare exprimată printr-un număr natural nenul (nimeni nu este perfect până la urmă, nici jucăriile), pentru a ști de la ce vârsta ar fi bine să poată fi folosite de copii, de exemplu. De asemenea, toate bucățile de șină au aceeași lungime constantă, de o unitate.

RAU-Gigel își desfășoară joaca pe parcursul a Q zile și în fiecare zi este supravegheat de câte un membru al familiei pentru a fi în siguranță. Din nefericire pentru el, în fiecare din cele Q zile persoana care îl supraveghează îi încurcă puțin planurile, permițându-i să folosească doar șinele care au gradul de periculozitate cel mult M (inclusiv M), o valoare naturală nenulă aleasă de aceasta (de remarcat că poate mereu folosi toate gările). Astfel, folosind toate șinele pe care le are la dispoziție pentru a conecta între ele gările corespunzătoare, va obține una sau mai multe așezări conexe maximale de gări (există un drum unic alcătuit din șine între oricare două gări distincte dintr-o așezare) pe care le va numi în continuare orașe. În fiecare astfel de zi, personajul nostru principal primește de la persoana care îl supraveghează un număr natural nenul K de bucăți de șină considerate perfect sigure pentru joaca copilului de către respectivul supraveghetor, cu care poate conecta oricare două gări distincte dorește. De asemenea, șinele primite îi sunt luate la finalul zilei (poate că persoana respectivă mai supraveghează și alți copii în următoarele zile și mai are nevoie de ele).

RAU-Gigel consideră că un lanț este un șir de una sau mai multe gări distincte astfel încât oricare două gări adiacente din acesta sunt conectate de exact o șină, iar lanțul de lungime maximă este cel format dintr-un număr maxim de bucăți de șină (astfel, lungimea unui lanț este dată de numărul de bucăți de șină din care este alcătuit). Scopul acestuia este ca în fiecare zi să formeze un singur lanț cât mai lung având la dispoziție șinele primite de la supraveghetor și cel mult câte un lanț din fiecare oraș creat de acesta, la alegere (adică pentru fiecare oraș poate să aleagă exact un lanț din el (oricare dorește) sau să nu folosească niciun lanț din acel oraș).

#4439 LimbajFormal C++

RAU-Gigel se pregătește pentru admiterea la facultate. Curios din fire, el împrumută niște cursuri de la un prieten student, de unde află despre limbajele formale, gramatici, automate finite, expresii regulate și multe alte lucruri interesante. Găsește acolo și o problemă:

Se consideră un alfabet X format din N simboluri (diferite două câte două). Pe mulțimea X este definită o relație de ordine totală (să o numim lexicografică) astfel: orice două elemente a și b alegem din X (a diferit de b), avem fie a<b, fie b<a. Câte cuvinte se pot forma cu simboluri din alfabetul X astfel încât simbolurile prezente în cuvânt să fie în ordine strict crescătoare (de la stânga spre dreapta) și să nu existe în cuvânt două simboluri consecutive lexicografic?