Page 45 - MATINF Nr. 13-14
P. 45

a
            Probleme de matematic˘ rezolvate cu mediul grafic de programare Scratch                         45


            Problema 2 (Problema determin˘arii num˘arului de divizori ai unui num˘ar natural).
            Aleget , i Scratch ca personaj pentru scen˘a s , i apoi scriet , i un script pentru generarea aleatoare a
            unui num˘ar natural N cu maxim 5 cifre. Acest num˘ar se va afis , a ˆımpreun˘a cu num˘arul de
            divizori.


            Solut ,ie.
                Pentru determinarea num˘arului de divi-
            zori ai lui


                  N = d[1] e[1]  ∗ d[2] e[2]  ∗ . . . ∗ d[k] e[k] ,


            vom utiliza formula


            NrD = (1 + e[1]) ∗ (1 + e[2]) ∗ . . . ∗ (1 + e[k]),

            unde d[1], . . . , d[k] sunt divizorii primi ai lui
            N, iar e[1], . . . , e[k] exponent , ii lor.

                Pentru determinarea divizorilor primi s , i
            exponent , ilor folosim un algoritm de tipul ce-   Figura 2.       Scriptul de determinare a
            lui prezentat la problema anterioar˘a.             num˘arului de divizori pentru N

            Problema 3 (Problema determin˘arii celui mai mare divizor comun s , i celui mai
            mic multiplu comun). Generat , i aleator dou˘ numere naturale nenule cu maxim 5 cifre fiecare.
                                                           a
            Afis , at , i aceste numere ˆımpreun˘a cu cel mai mare divizor comun s , i cel mai mic multiplu comun
            al acestora.

                Exemplu:


                Dac˘a se genereaz˘a a = 10, b = 35,
            atunci se va afis , a:


                10 35

                cmmdc = 5


                cmmmc = 70

            Solut ,ie. Dup˘ ce vom genera aleator valorile
                          a
            pentru a s , i b, vom determina cmmdc folosind
            algoritmul lui Euclid cu diferent , e s , i calcul˘am  Figura 3. Scriptul pentru determinarea nu-
            cmmmc cu formula cmmmc = a*b / cmmdc.              merelor cmmdc s , i cmmmc

            Problema 4 (Problema determin˘arii perechilor de numere prime ˆıntre ele dintr-un
            interval). Generat , i aleator capetele unui interval ˆınchis [a, b], a < b < 1000, b−a > 10. Afis , at , i
            acest interval s , i apoi afis , at , i toate perechile de numere (x, y) prime ˆıntre ele, x < y, x, y din
                                                                          a
            [a, b]. Personajul va afis , a aceste perechi dup˘ ce se deplaseaz˘ 20 de pas , i.
                                                         a
   40   41   42   43   44   45   46   47   48   49   50