Page 43 - MATINF Nr.2
P. 43

Determinarea ultimei cifre nenule pentru produse de numere naturale                            43



                Conform rezultatelor de mai sus obt , inem urm˘atorul algoritm pentru determinarea lui r(n!).

                s 0 ← 6; s 1 ← 6; s 2 ← 2; s 3 ← 6; s 4 ← 4;
                s 5 ← 4; s 6 ← 4; s 7 ← 8; s 8 ← 4; s 9 ← 6;
                t 0 ← 6; t 1 ← 8; t 2 ← 4; t 3 ← 2;
                UCNF(n) :                                               // calculeaz˘ a r(n!), recursiv
                if n ≤ 1 then
                   return 1;
                else
                   p ← [n/5]; i ← n MOD 10; j ← p MOD 4;
                   return (s i · t j · UCNF(p)) MOD 10;



            Propozit , ia 7. Algoritmul UCNF are complexitatea Θ(ln n).

            Demonstrat¸ie. Fie T(n) num˘arul de instruct , iuni executate de algoritm. Avem T(0) = T(1) = 1
                           n
                         Äî óä
            s , i T(n) = T     + 5 pentru n ≥ 2. Fie n ≥ 2 s , i k = [log n], deci k ≤ log n < k + 1 s , i astfel
                           5                                            5                5
                    k
            avem 5 ≤ n < 5   k+1 .
                                  k
                                                                                     n
                                                                         n
                                                                                        ó
                Cazul 1. Dac˘a 5 < n < 5     k+1 , atunci 1 <  n k < 5,  k+1 < 1,  î  k+1 = 0 deci adunˆand
                                                               5        5           5
            egalit˘at , ile
                                n             n            n                   n            n
                             Åï òã          Åï òã       Åï   òã             Åï   òã     Åï     òã
                   T(n) = T          + 5, T        = T         + 5, . . . , T       = T           + 5
                                5              5          5 2                 5 k          5 k+1
            obt , inem T(n) = T(0) + 5(k + 1), adic˘a T(n) = 5 [log n] + 6.
                                                                  5
                                     k
                                                n
                Cazul 2. Dac˘a n = 5 , atunci   k+1 = 1 s , i analog cazului 1 obt , inem c˘a T(n) = T(1) + 5k =
                                               5
            5 [log n] + 1.
                  5
            Observat ,ia 10. O variant˘a iterativ˘a a algoritmului UCNF, datorat˘a lui Gregory P. Dresden s , i
            bazat˘a pe reprezentarea num˘arului n ˆın baza 5, precum s , i alte rezultate privind r(n!), pot fi
            g˘asite ˆın [4]. Ment , ion˘am c˘a Dresden a demonstrat s , i faptul c˘a num˘arul
                                                                                    ∗
                                    C = 0,d 1 d 2 . . . d n . . . , unde d n = r(n!), ∀n ∈ N

            este s , i irat , ional (deci s , irul numerelor r(n!) nu este periodic), s , i transcendent [2, 3].



            Bibliografie


            [1] C. B˘alc˘au, Optimalitatea algoritmului de c˘autare binar˘a, MATINF 1 (2018), nr. 1, 39–51.

                                                                                                    n
            [2] G. Dresden, Two Irrational Numbers From the Last Nonzero Digits of n! and n , Math.
                Mag. 74 (2001), no. 4, 316–320.

                                                                                                   n
            [3] G. Dresden, Three Transcendental Numbers From the Last Non-Zero Digits of n , F n and
                n!, Math. Mag. 81 (2008), no. 2, 96–105.

            [4] The On-Line Encyclopedia of Integer Sequences, https://oeis.org/A008904
   38   39   40   41   42   43   44   45   46   47   48