Page 31 - MATINF Nr.2
P. 31

Vectori de frecvent , e                                                                        31



                Intrare

                2382364

                Ies , ire

                2 3 4 6 8
                Solut , ie

                I. Max = 9 s , i astfel M = {0, 1, . . . , 9}.

                II. Scoatem cifrele din k ˆın variabila i s , i de fiecare dat˘a frecvent , a lui i cres , te cu 1 (f[i] =
            f[i] + 1).
                III. Afis , ˘am cifrele lui k astfel: pentru orice i din mult , imea M, afis , ˘am i dac˘a f[i] > 0.

                Pentru exemplul considerat: Max = 9, f x [2] = 2, f x [3] = 2, f x [4] = 1, f x [6] = 1, f x [8] = 1,
            iar celelalte componente ale lui f x sunt 0. Astfel, se afis , eaz˘a 2 3 4 6 8.



            Probleme propuse spre rezolvare cu vectori de frecvent˘a
                                                                                    ,




                                                                   15
                1. Pentru un num˘ar natural n din intervalul [1, 10 ] se cere s˘a se afis , eze cel mai mare s , i cel
            mai mic num˘ar, care se pot forma cu cifrele sale.

                Exemplu
                Intrare: 200217

                Ies , ite: 722100 100227

                2. Un s , ir de numere este o progresie aritmetic˘a de rat , ie r dac˘a oricare termen al s˘au, cu
            except , ia primului, se obt , ine din cel care ˆıl precede, prin adunarea la acesta a num˘arului r.
            Exemplu: s , irul 12, 14, 16, 18, 20 este o progresie de rat , ie 2. Fis , ierul bac.in cont , ine un s , ir de
            cel mult 106 numere naturale din intervalul [0,103], separate prin cˆate un spat , iu. Se cere s˘a se
            verifice dac˘a exist˘a un num˘ar natural r, astfel ˆıncˆat toate numerele distincte din s , ir s˘a poat˘a fi
            rearanjate pentru a forma o progresie aritmetic˘a de rat , ie r. Se afis , eaz˘a pe ecran num˘arul r, sau
            mesajul NU, dac˘a nu exist˘a un astfel de num˘ar. Proiectat , i un algoritm eficient din punctul de
            vedere al timpului de executare.

                Exemplu

                Intrare: 180 30 80 280 130 330 230 30 30 330 80

                Ies , ire: 50

                                                              Bacalaureat, sesiunea august-septembrie, 2017


                3. Fis , ierul bac.txt cont , ine un s , ir de cel mult un milion de numere naturale din intervalul
            [0,102], separate prin cˆate un spat , iu. Se cere s˘a se determine toate perechile distincte formate
            din termeni ai s , irului aflat ˆın fis , ier, x s , i y (y − x ≥ 2), astfel ˆıncˆat s˘a nu existe niciun termen al
            s , irului care s˘a apart , in˘a intervalului (x, y). Numerele din fiecare pereche sunt afis , ate pe cˆate
            o linie a ecranului, ˆın ordine strict cresc˘atoare, separate printr-un spat , iu, iar dac˘a nu exist˘a
   26   27   28   29   30   31   32   33   34   35   36