            ⥬ ᫥  䬥᪨ .

                             1.
     ᫨ ᯮ,    ਧ   9  筮
⥬ ᫥     9  㬬    ᫠
(⢨⥫쭮,   ᫮
 S = a[n]*10^n + a[n-1]*10^(n-1) + ... + a[1]*10 + a[0].
 S mod 9 = (a[n]*(10^n-1)+a[n] + a[n-1]*(10^(n-1)-1)+a[n-1] +
            + ... + a[1]*(10-1)+a[1] + a[0]) mod 9
      ⠪  10^k - 1   9 楫,  
          S mod 9 = (a[n] + ... +a[1] +a[0]) mod 9,
...),  筮 砥,  ਧ   15 
⥬ ᫥  ᮬ 16 㤥      15  㬬
 ⭠  ᫠.
      ࠧ 筮 ᫮ ࠢ   ࠤ, -
  筮  ८ࠧ  ⭠ -
, 室  㬬     15. ᫨ ⮪ 0,  -
 ᫮   15,  - .

                           2.
     㬥,   ।⢥  ᫨  ᫮ 
筮 ⥬ ᫥,  ᫥ 祣 ࠧ    m,
  ⮬ 砥 ਤ ।⠢ ᫮   (ਬ)
ᨢ   ஢ 樨  ⨬ ᫮.  -
 㣮 ⮩ .
      ⥬ ᫥  ᭮ K ᫮ ।⠢ 

     a[n]*K^n + a[n-1]*K^(n-1) + ... +a[0]*K^0.
      ⮪      m (⮪   a
 b 稬 a mod b):
   (a[n]*K^n +  a[n-1]*K^(n-1)  +  ...  +a[0]*K^0) mod m =

     n                     n                   
  = SUM a[i]*K^i mod m =  SUM a[i]* (K^i mod m) mod m =
    i=0                   i=0                  

      ᫥  ᫥ ᮮࠦ:   K^i mod m=t,
⮣ K^i =p*m+t, 
 (a[i]*K^i) mod m = (a[i] * (p*m+t)) mod m =
       = (a[i]* p*m) mod m + (a[i]*t) mod m =
       = (a[i] * (K^i mod m)) mod m,
 ⮬   ᥫ b[i] 믮
    n                   n
 ( SUM b[i] ) mod m =( SUM b[i]  mod m ) mod m.
   i=0                 i=0

     ⬥⨬ ⠪ 祢 ࠢ⢮
     K^i mod m =[(K^(i-1) mod m) * K] mod m,
.. ᫨ K^(i-1) = p*m+t,  K^(i-1) mod m = t,
K^i = p*m*K+t*K  K^i mod m = t*K mod m =
    = [(K^(i-1) mod m)*K] mod m.
    ⮣ ⬠ ( a[i] - K-  ᫠):
      s:=0;  t:=1;
      for i:=0 to n do
        begin
          s:=(s+a[i]*t) mod m;
          t:=t*K mod m;
        end;
      ६ S ᫥  砭  ࠡ  ⬠  㤥
࠭ ᪮ ⮪.

                           3.
      蠥 ⠪,   ।:
            s                                
N mod K =  SUM  (d[j] mod K) * ((s+1)! mod K) mod K,
           j=0                               

                                              
 (s+1)! mod K =  (s! mod k) * ((s+1) mod k) mod k,
                                              
      ᫥騬 ࠧ:

       ⮪:=0;
       faktorial:=1;
       for i:=1 to s+1 do
         begin
           ⮪:=(⮪+(d[i-1] mod k)*faktorial) mod k;
           faktorial:=(faktorial * ((i+1) mod k)) mod k;
         end;

     ६  ⮪ ᫥ 室  横 㤥 ᪮ -
祭.

                             4.
     ᯮ ⥬, 
                       U[1] + U[1] = U[2],                    (1)
     U[i] + U[i] = U[i] + U[i-1] + U[i-2] = U[1+1] + U[i-2],  (2)
                     U[i] + U[i-1] = U[i+1].                  (3)
     㬬㥬 ᫠ A  B ࠧ來,  ᯮ ਢ 
ࠢ, 稭   ࠧ冷.  ᫥ ਬ   
ࠢ  稭 ᬮ ᫠   ࠧ冷.
     ஢ 㬬஢ ᥫ '10101'   '100'  .
     10101
  +    100
    -------
     10         ࠧ鸞  ᭮,
  +   1001    ⥬ ਬ塞 ࠢ (2),
  +     01     塞 ᫥  ࠧ鸞
  +     00    ᥫ A  B
    -------
     11001       ࠧ冷 ਬ塞 ࠢ (3)
  +     01
  +     00
    -------
    100001
  +     01    ࠢ (1)
  +     00
    ------
    100010

                             5.
      ᫥騩:

   cnt:=0;               cnt -- 稪   i.
   while (i<>0) do       横  ᫮ ࠧ, ࠢ
     begin                  i. " ࠥ " ࠩ-
       i:=(i-1) and i;    ࠢ   筮 
       cnt:=cnt+1;       ᫠.
     end;                ਬ:  110  = i
                                  101  = i-1
                                  ------------------
                                  100  = i and (i-1)


                            6.
      a(k) - k- 童 ᫥⥫쭮.
     ᬮਬ ᫥⥫쭮, ନ㥬  ᫥饬 -
:
                             a(0)=0;

                         a(0)...a(2**k-1)
砥 ਯ뢠    ⮩  ᫥⥫쭮 ࠢ ⮩ 
᫥⥫쭮,   ⮬   童  ਯ뢠  
㢥稢  . 砥
                    0->01->0112->01121223->...
     ,  a(k)  㬬   筮  ।⠢
᫠ k.
     ⥫⢮ ஢  樨.   a(0)=0  ࠢ-
.        ।   ࠢ         a(i),
0<=i<=2^(k-1)-1 (..    ᥫ i,     祬
k-1-    ࠧ冷).    筮 ࠧ ᫠ l,
2^(k-1)<=l<2^k,   k- ࠧ拉  筠  ,  
⮬
                    a(l)=1+a(l-2^(k-1)),
...
     쬥 a(i) mod 3,   稬 ᫮, 饥  i-  
᫥⥫쭮, ᠭ  ᫮ .
      ⮣,  ⮡  a(i), 室,  ,-
 ⢮   筮  ᫠ i - .  5.

                            7.
     㤥  ⠬ ᮤন ६ A  B. -
 ᪮쪮 ᯮᮡ ᤥ .
     1.          祭  A        祭  B

         A:=A+B;             A+B                   B
         B:=A-B;             A+B                   A
         A:=A-B;              B                    A
     2.   ᯮ짮   XOR (᪫-
饥 ).  ⨭  XOR ᫥:
         1 XOR 1 = 0               1 XOR 0 = 1
         0 XOR 0 = 0               0 XOR 1 = 1
      XOR     ६묨  設 ॠ
 ⮢    ।⠢ ᥫ. -
⮬,  ⭮, A XOR A = 0, A XOR B = B XOR A, A XOR 0 = A.

                 祭  A        祭  B

        A:=A XOR B         A XOR B                 B
        B:=A XOR B         A XOR B           (A XOR B) XOR B=
                                             =A XOR (B XOR B)=
                                             =A XOR 0 = A
        A:=A XOR B       (A XOR B) XOR A=          A
                        = B XOR (A XOR A)=
                           = B

                             8.
     ᫨ ᬮ ⮢ ।⠢ ᫠ A[i,j],  -
饣   (i,j)  ᥫ i  j,   㦨,  
A[i,j]=i XOR j,  㤠 砥,  A[i,j] XOR i=j,
A[i,j] XOR j=i.
     ,  A[i,j]=i XOR j.
     1) ᫮ A[i,j]=i XOR j  砫    ப i,
  ⮫ j.  ⨢:  ⠪ j', 
     i XOR j = i XOR j' =>  i XOR j XOR i = i XOR j' XOR i  =>
     =>  j'=j;
     2)     ⠪ k<i XOR j,   k=i XOR L =
= j XOR M,   k   砫  ப i  ⮫ j (-
,     ।    ⠫ 㦥 
 ࠢ i XOR j, ⮬ L>j  M>i).
     , ⠪  M>i,      ஬ t ⠪,
   R>t  Mr  ir ࠢ, t-  Mt=1, it=0. 
⠪  j XOR M < j XOR i,  Jt=1.
       L>j  L XOR i=j XOR M,   L = j  XOR  M  XOR  i.
ᬮਬ i  XOR  M.   ᨫ ᪠    
஬ R, R>t, (i XOR M)r=0,  (i XOR M)t=1.
      ⮬ Jt=1, ᫥⥫쭮
     (i XOR j XOR M)r = Jr  r>t 
     (i XOR j XOR M)t = 0   r=t,
  L<j ?! ⨢稥.

                             9.
      ६ N1=N.
      N1  M   筮 ⥬ ᫥. -
 ஡ N1/M  ⥬ ᫥  ᭮ p:
       ⥬  ᭮ p ᪮ ஡ 0.a(1)a(2)...
     砥:
     a(1)*p^(-1)+a(2)*p^(-2)+ ... =N1/M.
 ࠢ    ࠢ⢠  p:
     a(1)+a(2)*p^(-1)+ ... = N1*p/M.
     뤥 楫  ࠦ ᫥  ࠢ   -
⢠, 砥
     a(1) = 楫  (N1*p/M).
稬 N2 = N1*p mod M; 祢 ࠧ 砥
     a(2)*p^(-1)+ ... = N2/M.
  p  室 楫 ,   
     a(2) = 楫  (N2*p/M);
த 筮, ।塞 樥 a(3), a(4)  ..
      室 뤥  ai    ࠧ -
祭 Ni   祬 M (     ᥣ Ni<M).
     ᫨  -  ⪠ ᮢ:  Ni=Nj,  i<>j,
 ᮢ   ࠧ: a(i+1)=a(j+1), a(i+2)=a(j+2),
... ,  ..  (a(i+1), ... ,a(j)) ࠧ   
ਮ.       ⠪ ਮ᪨
饩 ᫥⥫쭮,    ࠢ   
   訬 騬 ⪠,    ᠬ
.
     㯠 ᫥騬 ࠧ:
뤥塞 M    p-筮  ஡ (室  ᪠,  
⮬  ਮ 㦥 易 ).    Nm,  
饬  ⠪ ⮪ Nk, k>m,  Nm=Nk. 稭 k-m 
ࠧ   ᪮  ਮ.

                          9.1.
     :
     p:=0; q:=1;
     metka:
         if p/q < r then p:=p+1;
         if p/q = r then stop;
         if p/q > r then q:=q+1;
         if q > qmax then stop;
         goto metka;

PROGRAM  ratap;
VAR  p,q,qmax:integer;
     d, r, min: real;
BEGIN
   write('r,qmax=');  readln(r,qmax);
   p:=0; q:=1; min:=r;
  REPEAT
    IF  p/q<r THEN p:=p+1 ELSE q:=q+1;
    d:=abs(r-p/q);
    IF d<min THEN BEGIN min:=d; writeln(p:7,'/',q) END
  UNTIL (q>=qmax) OR (d=0);
readln; END.

         "xploring mathematics with your
computer" by Arthur Engel (The Mathematical Association of
America, New Mathematical Library, 1993)



                           10.
       q<p,   a  b    ।  0
 q-1.
     ᯨ襬 A  ⥬  ᭮ p:

         a    b     a     b            1            1
     A = - +  +  +  + ...  =  (ap+b) +  (ap+b)+
         p   p^2   p^3   p^4          p^2          p^4

+ ... = (ap+b)(p^(-2) + p^(-4) + ...) =  { 室  㬬  ᪮筮
뢠饩  ᪮ ணᨨ  ⥫ p^(-2)} =
          p^(-2)    ap+b
 = (ap+b) =  .
         1-p^(-2)   p^2-1
     筮  A  ⥬  ᭮ q 믮
         bq+a
     A =  .
         q^2-1
     砥
                 (bq+a)(p^2-1)=(ap+b)(q^2-1)
           a[p(q^2-1)-(p^2-1)]=b[q(p^2-1)-(q^2-1)].
     塞 ࠦ     ᪮;  稬 
ᮮ⢥⢥ u  v: au=bv.
     室 (u,v)=s; 稬 r=u/s, f=v/s.
     砥
           ar=bf,
r  f  , ᫥⥫쭮, 襭ﬨ ⮣ ࠢ⢠
 ᫠
     a=fk, b=rk, k=1,2, ... ,
      ⮬   ६ ⮫쪮  a  b,    -
 믮
     ) a<>b
     b) a<r
     c) b<r
     宦  - .  12.

                             11.
    祢 襭:  ⪥ ।⢥  -
 殢 ᥣ⮢,  ਭ  K[n],   ।-
,  ਭ    a/b      ᥣ⮢   
᫨誮  n    筮  ᫥   -
࠭祭 ᫠   設 ।⠢ ᥫ  -
饩 窮  室      ⢥    設⢠
室 .   n  㤥   -
稬:  ᫮    3 ⠭ ⠪ ,    設
 㤥 ।⠢ 㫥.
    ᬮਬ 㣮 ⮤ 襭 ⮩ .    -
ﭭ     ᥣ   ,    ⠫ 
 ᯮ짮 ந ⥬ ᫥  ந ஡.
    ࢮ  㤠 ࢠ (1/3,2/3)  ⮫쪮
 窨
                 x=0.a[1] a[2] a[3] ...
 ந筮 ࠧ  a[1]=1, ஬ 窨 1/3=0.1000... --
ࠢ   ᥣ [0,1/3].   ࠧ,   K [1] 
  窨,    a[1] <>1,   a[1]=1, a[2] = a[3] = ...=
= 0. 筮,  ⢥ K[i], i>=0, ᮤঠ 窨,  -
    ᥫ a[j],  1<=j<=i,   ࠢ 1,   ⠪  窨,
㤮⢮騥   ᫮:   a[j]=1,  j  -  䨪஢,  1<=j<=i,
a[l]<>1, l<j,  a[l] =0   l>j ( ,   ந筮
஡ ⮫쪮   ࠢ 1, ᫥   ⠫ 樨
㫥.   ஡ ᮮ⢥ ࠢ 栬 ᥣ⮢   -
⢠ K[i]).
     ⬠  ᪠  :
      x:=a;  i:=1;
      while (i<=n) or (x<>1) or (a<>0) do
         begin
            a:=a*3 mod b;
            x:=a*3 div b;
            i:=i+1;
         end;
      if (x=1) and (a<>0) and (n<>0)
         then writeln('  ਭ')
         else writeln(' ਭ');

                             12.
      ⭮ (a,b)=ab/(a,b).
      宦  ᯮ㥬  . 㤥 -
 (a,b)   (a,b).
      ⬠.  a>=b (᫨   ⠪,   -
 ᮤন ६ a  b ⠬).
     ᫨ b=0,  (a,b)=a, .
      (a,b)=(a mod b,b).
     ⢨⥫쭮, ᫨ g=(a,b),      a,  b,  ⮪
r   a  b: a=bs+r,  s - ⭮ a div b, r = a mod b.
,  (a,b)=(r,b).
     稬 १ a 稭 a mod b.   믮 蠣 -
⬠.

        㣮,    ('設') ਠ -
宦 :
      ᫥    ᯮ㥬  ᫥騬 祢묨 -
⢠:
     1). (0,a)=a, (a,b)=(b,a)
     2). (a,b)=(a-b,b)
     3). ᫨ a  b  ,  (a,b)=2*(a/2,b/2)
     4). ᫨ a ⭮,   b - ,  (a,b)=(a/2,b)
     5). ᫨  a   b    a>b,   (a-b) - ⭮ ᫮,
 ⮬ (a-b)<max{a,b}  (a,b)=(a-b,b).
      :
      1.     k:=1
      2.      a  b ६ , 믮塞
                        a:=a/2
                        b:=b/2
                        k:=k*2
      3.  ᫨  ᫠ a  b ,
                襣   ᨬ ࠧ  
                        襣  ᥫ,
             ,
               ᫨   ᥫ a  b ⭮,
                   2.
      4.  ᫨   ᥫ (a  b) ࠢ ,
              (a,b) ࠢ ந 㣮 ᫠  k,  -
                 蠥 ࠡ,
              ३  蠣 3.

                             13.
                 p-1    p
     ᫮  2   * (2 - 1),  筮 ।⠢  
  -1 㫥. ᨬ쭮 祭  । 
                  [(log N)/2]+1.
                       2
     ⥬ ஢   ᫮ ᮢ襭   祭-
 祭 p.    ᮢ襭, ᫨  ⮣ -
                 p
祭 p,  ᫮ 2 -1  . ᫨ 稫 ᮢ襭
᫮,  㬥蠥  p    1  ᭮ ஢塞,    
᫮ .
     襭 ᫠   祭  ࠢ
                2,3,5,7,13,17,19,31,61,89,107,127.

                             14.
     襬 ࠢ  
                     sXeAk + pY = nYmAt + rX.
     ࠢ 樥  X,A  Y, 砥:
 X  se=k
 A  p=nm                                                     (*)
 Y  sk=nt
       樥  㫥     묨,
 ᫥   ᥫ k  t ( 12).  (k,t)=d. 
s*(k/d)=n*(t/d),  ᫠ k/d  t/d   묨, ᫥-
⥫쭮, n=k/d,  s=t/d.
      (*) 室 ⠫ 樥.

                             15.
       न⠬  設       頤
㣮쭨 ABC
            Sabc=(bx-ay)/2
     ᫨ a=0,    쭠  頤  Smin=b/2,  ᫨ b=0,  
Smin=a/2.  ᫨   न ⫨  ,   ⬠
  宦 (a,b)=(a,b), ᫥ ⢮ ⠪
楫 x  y,  ABS(bx-ay)=(a,b),    x  y 
頤 㣮쭨 ABC.
     宦  -  12.

                             16.
     稬 S=(V1,...,Vn).  ᫨ V  楫  S,  
      V ஢ ,  - .

                             17.
       ᨢ: E[0..N+1]  S[0..N+1].  ᨢ
- .  E 㤥 ࠭ ⥪  㬬
             e_n=1+1/1!+1/2!+ ...  +1/(k-1)!,                  (*)
᫥  筮 N+1  ᫥ ⮩  (  祩  E[i]
࠭ 祭 i- ࠧ鸞 ᫥ ⮩,    樥
 10^(-i)).   ᨢ S  㤥  ࠭  ᫥  ᫠
筮 㬬, .. 1/(k-1)! (   S[i] 室 i- -
 ᫥ ⮩,  騥 , ࠧ㬥, 㫨).
     業 譮  (*) c ⮬ ࠢ⢠
                e=1+1/1!+1/2!+ ...  +1/(k-1)!+...
譮 ।⠢ ᫠  㤥
     F_n = e-e_n = 1/(n+1)! + 1/(n+2)!+ ...
         = 1/(n+1)! * (1 + 1/(n+2) + 1/(n+2)(n+3) + ...)
         < 1/(1+n)! * (1 + 1/(n+2) + 1/(n+2)^2 + ...)

             1          1            1     n+2
         =     =    
           (n+1)!  1-(n+2)^(-1)    (n+1)!  n+1

     .. F_450 < 10^(-10002),    ᫥,  ਬ, 1000
 ᫥ ⮩ 室 450 権.   筮 N  -
襯ਢ 㫥 塞 ⢮ 権  ( 
㡮 =N).
     㤥  ᫮,  ।⠢ ᨢ S,   ।
᫮ k.  1/k! ਡ  ᨢ E.  ॠ
⠪:
     perenos:=0;     { ७  ।饣 ࠧ鸞 }
     for i:=N+1 downto 0 do
     begin
       E[i]:=E[i]+S[i]+perenos;
       perenos:=E[i] div 10;  { ନ㥬  ७ }
       E[i]:=E[i] mod 10;     { ४㥬 E[i] }
     end;
     ᫥   ᫠   㬬஢ ஢  ࠧ.
     ᬮਬ 楤   S  k.   㤥 ⠪,  
 筮   - "⮫":
     m:=0;    { m - ⥪饥 , m - Longint }
     for i:=0 to N+1 do begin
       m:=m*10+a[i];  { 뢠   ᧠  }
                      {   }
       a[i]:=m div k; { 室 ।  ⭮ }
       m:=m mod k;    {  ।  }
     end;

                             18.
      ६  ⠭⭮  ⨯  ⠪  讥 ᫮  -
.  㤥 ஢   2    ⥯  n  
᫥⥫쭮 2^1,  2^2,  ...  , 2^n, ᯮ ᨢ.  
祩 ᨢ 㤥 ࠭    (ਬ)  4    
᫠ (..   A[1] - 4 ᫥  ᫠ (ࠧ 0 -
3),  A[2] - 4 ।᫥ (ࠧ 4 - 7)  ..).
     業 ⢮    ᫥ 2^n,  n<=1000.  
10 000 * log10 (2) + 1 < 15 000 . ⢮ ⮢ ᨢ
쬥 ࠢ 15000/4=3750.  ६ Nach,  ன -
 ࠭   ᨢ A,  ஬ 室 訥
騥 ࠧ 塞 ᥩ ᫠.
     var A: array[1 .. 3750] of word;
         Nach: word;
         i,N,j: word;
     begin
       for i:=2 to 3750 do A[i]:=0;
       A[1]:=1;   { ᭠砫 ᫮  ᨢ A -  2^0=1 }
       read(N);   { ⠥ ⥯ }
       Nach:=2;   {  ࢮ   ᯮ짮 祩 }
                  {  ᨢ A }
       for i:=1 to N do
       begin
         Perenos:=0; { ७  ᫥騩  ᨢ A }
         for j:=1 to Nach+1 do
         begin
           A[i]:=A[i]+A[i]+Perenos;
               { ᪫뢠 4 ⥪ ࠧ鸞   㣮, }
               {  ७  । 4- ࠧ冷 }
           if A[i]>=10000        { ᫨  ᫥ > 4  }
           then begin
             Perenos:=A[i] div 10000;  { ନ㥬 ७}
                                       {  訥 ࠧ }
             A[i]:=A[i] mod 10000;     {  ⠢塞  ᫥ }
                                       { 4 ᫥  }
           end
           else Perenos:=0       {  ७  }
         end;   {   横 for j }
         if A[Nach+1]>0          { ᫨  ७    }
         then Nach:=Nach+1;      { ᯮ짮 祩 }
                            { ᨢ A,  㢥稢 Nach }
       end;   {  横 for i }
           { ᯥ⪠ }
       {  ࠤ ⠥   㫥 }
       j:=1000;           { 饬    }
       while (A[Nach] div j)=0 do j:=j div 10;
       while j<>0 do begin
         write(A[Nach] div j);    {   }
         A[Nach]:=A[Nach] mod j;  { 뢠 }
         j:=j div 10;             { ⠭  }
       end;
       for i:=Nach-1 downto 1 do
       begin
         j:=1000;
         for j:=1 to 4 do    { 4 ࠧ鸞 }
         begin
           write(A[i] div j);  { ⠥  }
           A[i]:=A[i] mod j;   {  뢠  }
           j:=j div 10;
         end
       end
     end. { ணࠬ }

                             19.
     蠥, 筮  18, ஢ ᫥
N^1, N^2, ... , N^N.

                             20.
        ᫮ S, 1<S<=N,    ।騥
ࠫ ᫠ k,  1<k<S,   ᫨   ⮪   
ࠢ ,  S -  ⮥.  S - ⠢, S=ab,  ⮬
易⥫쭮 a<=SQRT(S),  b>=SQRT(S), ⠪   ஢ન -
 S   ஢   祭 ⥫ k  2  S, 
⮫쪮 k  ॢ室饥 SQRT(S).  ᫨ ᫮ S -  ⠢,  
  ࠧ  ந  ᥫ, ⮬, ⠪ 
 㦥 諨   ᫠ 訥 S,   S   
⮫쪮   ᫠,   ॢ室騥 SQRT(S).  ᫨ S>2,  
᫥ ᬠਢ ⮫쪮  ᫠.
     .
      A  -  㯮冷祭    ⠭  ⢮ 
ᥫ, ᭠砫 A={2,3}.
      N>3.
      S  5  N  蠣 2 
        类 ⮣ ᫠ x<=SQRT(S) 
         ᫨ ⮪   S  x  ࠢ ,
          S - ⮥,  塞 S  A
          S - ⠢.

                             21.
        ।⠢ N!   ந  ᮬ-
⥫:
               N!=(2^A2)*(3^A3)*(5^A5)*(7^A7)*...,
 Ap  -  ⥫ ⥯,   ன ⮥ ᫮  室 
ࠧ. ,  㫥   ᫠ ⮫쪮 , ᪮쪮 -
    ந (2^A2)*(5^A5),  ⠪ , 祢, 
A2>A5,  ⢮ 㫥 ࠢ A5.
    ⮣, ⮡  A5, 室 ᫨ 㬬

              N       N       N  
         A5=   +    +    +                      (*)
             5^1     5^2     5^3   ... ,
              
            -- 楫  ᫠,
              
..   ⮥  ᫮  ந N!    5,  
 ⮥ ᫮  ࠧ   5,   5^3 ᫮,  
ࠧ   5,  ..    (*)  室, ᪮쪮 ᥫ 
ந N!    5. ࠣ ணࠬ 룫廊 ᫥-
騬 ࠧ :
                 k:=5;
                 s:=0;
          repeat
                 s:=s+N div k;
                 k:=k*5;
          until (k>N);
     ᫥ ࠡ 横  ६ S 㤥 室 A5.

                           22.
       ⥫ ᫠ P.    p1,...,
pk.    ⥫ pi  ᫮ si - ⥯,  -
ன pi 室  ࠧ P   ᮬ⥫.   
  21  ᨬ ᫠ m1, ..., mk, ⠪  N!
  pi  ⥯ mi,        pi    ⥯
mi+1.
     砥  宦 m ᫥饥 ࠢ:
      N!    (p1^m1)*(p2^m2)*...*(pk^mk)*R
      =  ,
     P^m   ((p1^s1)*(p2^s2)*...*(pk^sk))^M
 R=N!/[(p1^m1)*(p2^m2)*...*(pk^mk)].
     쭮  ᥫ mi div si   ᪮ ⥯ M.
     ᬮਬ ਬ: N=15, P=135.
     P=3*3*3*5, p1=3, s1=3, m1=15 div 3 + 15 div (3*3)=6
                p2=5, s2=1, m2=3.
     砥,  M=min{6 div 3, 3 div 1}=2.
     ᭨, 祬    ਬ 
       M=N div P + N div (P**2) + N div (P**3) + ... ?

     ਢ  ணࠬ, ॠ  .

{                      ᫮ .
      室 ணࠬ   ᫠ N  P.  ணࠬ  
室   ⠪ ᨬ쭮 ᫮ M,   N! 
 P  ⥯ M,     P  ⥯ M+1.
    ਬ砭.
1. ᫠ N  P ⠪ ,   ᫠  祭 N!.
2. ᫠ N  P  ࠫ묨.
}

uses crt;
const
 max_long = 2147483647;
var
 n,p,i,stp,m,mn,km   : longint;
 flag                : boolean;
 ch                  : char;

{ 㭪  howmany  ⠥,  ᪮쪮  ࠧ    ࠧ ᫠ n!
                     ⥫ mn.
}

function howmany(mn,n:longint):longint;
var
 pr1,pr2,pr3 : longint;
begin
 pr1:=mn; pr2:=0; pr3:=1;
 while pr3<>0 do
  begin
   pr3:=trunc(n/pr1);
   pr1:=pr1*mn;
   pr2:=pr2+pr3
  end;
 howmany:=pr2
end;

{  㭪 st  室  ⥯  ⥫ mn  ࠧ ᫠ p
                        ⥫.
}

function st(mn:longint; var n:longint):longint;
var
 prom: longint;
begin
 prom:=0;
 while (n mod mn)=0 do
  begin
   inc(prom);
   n:=n div mn
  end;
 st:=prom
end;

begin
 clrscr;
 while true do
  begin
   write(' ᫮ N  P => '); read(n,p);   {  }
   if p<>1 then                                   { ᫨ p=1  ᫮ m }
    begin                                         {         }
     m:=max_long;
     i:=2;
     flag:=true;
     repeat
       stp:=st(i,p);           {  stp ᫥ ᢠ 㤥 ࠢ   }
       if (stp<>0) then        { 宦 ⥫ i  ࠧ ᫠ p }
        begin                  {   ⥫.  ᫨  stp<>0,  km }
                               { 㤥 ࠢ   宦  ⥫  i }
         km:=howmany(i,n);     {  ࠧ ᫠ n!   ⥫ }

         if (trunc(km/stp)<m) then  { ᫨ km/stp  쭮 ⭮- }
          begin                     { 襭,  ࠭塞  祭.     }
           m:=trunc(km/stp);
           if m=0 then flag:=false
          end;
        end;
       if i=2 then i:=3 else inc(i,2);
     until (i>p) or (not flag);
     writeln('᫮ M ࠢ ',m)
    end
    else
     writeln('᫮ M  .');
   write('த ? (y/n) ');
   repeat
    while keypressed do ch:=readkey;
    ch:=readkey;
    case ch of
     'Y','y': writeln('y');
     'N','n': begin writeln('n'); exit end
    end;
   until ch in ['N','n','Y','y'];
 end;
end.

{                            ᠭ .
   ᫨    ࠫ ᫠ a  b,  a 㤥   b,
᫨  ⥯ ⥫  ࠧ ᫠  a     ⥫
  ࠢ  ⥯, 砥  ࠧ ᫠ b.

 ਬ :
  120 = 2*2*2 * 3 * 5
  40  = 2*2*2 *     5
  120   40

   ⥫쭮, n!   p  ⥯ m, ᫨ ⥯  -
⮣ ᫮ mn (2<=mn<=p)    ࠧ  ᫠  n!    ⥫
, 祬  筮 ࠧ ᫠ p  ⥯ m.
   ᫨ F(i,p) - ⥯ ⮣ ᫠ i  ࠧ  ᫠ p  -
 ⥫,  F(i,p^m)=F(i,p)*m.
     襭 :
⥯  m  㤥  ࠢ  楫    쭮 ⭮襭 ⥯
⮣ ᫠ i  ࠧ n!  ⥯ ᫠ i  ࠧ ᫠ p,
 2<=i<=p.
    ࠧ ᫠    ⥫ 筮 .
᭮ 㤭 ।⠢  ࠧ ᫠ n!.

 ⥯_⮣_᫠__ࠧ_᫠_n! ( n,mn,s,k)
 n,mn
 s

 s:=0
 k:=mn
  [n/k]>0
  
   s:=s+[n/k]
   k:=k*mn
  
.

                             23.
     ᯮ㥬 ⥬,       n>=4  믮  ࠢ⢮
n<=(n-2)*2, .. ࠧ ᫮  ᫠, 訥 3,  
᫠.  뤥塞  ᫠ n ᫠-,   稬 -
⮪ 訩  ࠢ 3 (⮪    3,    2).
  2*2*2<3*3,        ன. -
祭 ࠧ   ᪮.
      ᠬ⥫쭮 砨
     1)  室 ᨬ஢ ந,  ᫠
  ࠧ ᫠ n  ਭ ஬ [A,B],  A  B
 짮⥫.
     2)  室 ஢ ந,   ᫠
 ࠧ ᫠ n  ਭ ஬ [A,B],  A   B
 짮⥫.

                             24.
     ᫨ S>=4   ⢥ S1  S2,  ⠪ 
                        S=S1*S2=S1+S2.
 ⮣, 襥  S1  S2  1  <=2:
        S1=(S-SQRT(S^2-4S))/2, S2=(S+SQRT(S^2-4S))/2,
              (S-4)^2=S^2-8S+16<=S^2-4S<(S-2)^2

                 1<S1=(S-SQRT(S^2-4S))/2<=2.
⠪, ᫨ r<4  ࠧ    ⥫  祭,  
஢ ࠧ r   ⥫,    <=2 ( ⥬
 <4 ), ᫨ 㣮 <4 ,   祭,  -
塞 䠪ਧ S   ,   稬 ᪮ ࠧ-
.

                             25.
      ⥮६  砥, 
     x1*x2*x3*x4*x5=-A(0)/A(5)
㤠 ᫥,   ᫮ xi   ⥫ A(0)/A(5). -
室  ⥫ A(0)/A(5)=R (᫨ A(0)=A(1)=...=A(i)=0,   i+1
७  ࠢ ࠢ 0.    ࠢ  x^(i+1),  
饬 ⥫ ᫠ r=A(i+1)/A(5)).
     i:=1;
      i<=R 
         ᫨ R  楫  i
          ஢,   ᫠ +i
                       -i ﬨ 
         i:=i+1
      

                             26.
      m/n  - ⥪ ᮪⨬ ஡.  ,   
᫥  祭 ஡. ⭮,   㤥 । ᮪-
⨬ ஡  k/,     ਭ 祭  2  15.
뢠 ᫮ k/ > m/n     אַ  -
쭮 祭 k ᫥騬 ࠧ:
            k=m*p/n+1.
      ⮬  ஡ k/, 祭 ᠭ  ࠧ,
᮪⨬.
         m:=0; n:=1
         
          i:=1; j:=1;
           :=2  15 믮
           
            k:=m*p div n + 1;
            ᫨ k*j < p*i
                    i:=k; j:=p;
            
           
          m:=i;  n:=j;
         i>=j


                             27.
      ᫮ - ࠢ⢮  㬬  ᥫ.   ᥣ -
 ""   ᫥⥫쭮 室   㫥
᫠,  騥 設,    - 設. ᫨ 㬬
 ᥫ ࠢ 0,  ᫥  室 ,    -
設 ᠭ 0.

                             28.
     ). ணࠬ ᫥ ᫥:
     P:=a[N]
     for i:=N-1 downto 0 do
       P:=P*x+a[i];
     ᬮ,     奬 ࠡ⠥,    祭
   樥⠬  窥 x.
     b). 蠥 筮.

                             29.
     த㥬 ⮤ 宦 樥⮢  
 ਬ  p(x)=(x**2+2*x+1)  ⢥ ⥯.
     㤥 ᫥⥫쭮    ⥯  2,  3,
4.  ன ⥯ ࠢ ࠢ⢮
     p(x)*p(x)=(x^2+2x+1)*(x^2+2x+1)=(x^2+2x+1)*x^2+
     +(x^2+2x+1)*2x+(x^2+2x+1)*1
     㤥 ᪫뢠 樥     ⥯  x,
믨뢠 樥  ࢮ ⥯  ᮮ⢥-
騬 ᤢ  㬭  樥:
     x^4   x^3   x^2   x^1   x^0
   Ŀ
                  1     2     1          x^2+2x+1
            2     4     2                (x^2+2x+1)*2x
      1     2     1                      (x^2+2x+1)*x^2
   
      1     4     6     4     1
     稫 樥 ன ⥯ .  -
 ⥯, 㯠 筮, 砥 ⠪ ⠡:
     x^6   x^5   x^4   x^3   x^2   x^1   x^0
    Ŀ
                  1     4     6     4     1    p(x)*p(x)
            2     8    12     8     2          2x*p(x)*p(x)
      1     4     6     4     1                x^2*p(x)*p(x)
    
      1     6    15    20    15     6     1
     樥 4- ⥯:
     x^8  x^7  x^6  x^5  x^4  x^3  x^2  x^1  x^0
    Ŀ
                1    6   15   20   15    6    1   
           2   12   30   40   30   12    2        
      1    6   15   20   15    6    1             
    
      1    8   28   56   70   56   28    8    1
      ந  㯠 ⠪ : ᫥⥫-
 室 ⥯ 2,3,  ...,  m.     樥
   ⥯ i,   塞 樥 ⥯ i+1,
믨뢠  ᤢ 樥  ⥯ i, 㬭-
  ᮮ⢥騥 樥 室 ,   -
⥬ ᪫뢠   ⮫.

                             30.
     蠥 筮 ।饩 . ᬮ 
                  p(x)=(x-A[1])*...*(x-A[N])
 ᫨    樥.     蠣,   ⫨稥 
।饩 , 㬭 㤥 ந   童
(x-A[i]).

                             31.
     ᬮਬ ᫥ :
        p(x)=a[n]*x^n  +  ...  +  a[1]*x+a[0]   
v(x)=(x-d), ..  ⠪ ⠭ - ⮪ r  ⠪ ⭮
s(x)=s[n-1]*x^(n-1)+ ... + s[1]*x+s[0], 
                       p(x)=s(x)v(x)+r.
      㤥  ⮫. ᬮਬ   
 ਬ:
     3x^2+2x+5 x-2
     3x^2-6x         r=21, s(x)=3x+8.
         3x+8     ,  樥 s[n-1]  
          8x+5           襩 ⥯ x  s ࠢ  -
          8x-16          樥  襩 ⥯  x  
                    p,  ⠫  樥    s
             21          室  㫠:


                    s[t-1]=(-d)*s[t]+p[t];
                      r=(-d)*s[0]+p[0].
      來  ଥ        ⠪ 뢠
奬 ୥:
       p[n]         p[n-1]    ...        p[1]        p[0]
     
 -d  s[n-1]=p[n]           ...   s[0]=-d*s[1]+p[1]
           s[n-2]=-d*s[n-1]+p[n-1]             r=-d*s[0]+p[0]

      ஢      ᫥饬 -
:
        3        2       5
     
   2   3        8    21   <- ⮪
                    

      3 ᭮, 8=2*3+2, 21=2*8+5.
     ୥  室 . ࠢ塞 :
     p0(x)=a[n]*x^n+a[n-1]*x^(n-1)+ ... +a[1]*x+a[0]=
          =b[n](x-d)^n+ ... +b[1]*(x-d)+b[0].
     室 ⮪    ࠢ  ᫥   
ࠢ⢠  (x-d).   ᫠, ஬ ᫥, 
 (x-d) 楫. ⮬
     p0(x)=(x-d)*p1(x)+b[0].
     砥, 
     p1(x)=b[n]*(x-d)^(n-1)+ ... +b[2]*(x-d)+b[1].
     筮 室 b[1]:
     p1(x)=(x-d)*p2(x)+b[1],
⥬  p2(x) ।塞 b[2],  ..,    b[n].
     ᮡ 㤮   뢠   奬 ୥ (-
 ,    孥 ப ᠭ 樥 p0, ,
 砥  ப  -  樥 p1,   ⠪-
  ਬ 奬 ୥, 室 樥 p2,  ..)
     ਬ: p(x)=3x^2+2x+5, d=-2,
       3   2    5
    Ŀ
  2   3   8   21  =b[0]
                        14=2*3+8
  2   3  14  =b[1]
    
  2   3  =b[2]
    
     砥
           3x^2+2x+5=3(x-2)^2+14(x-2)+21.

                             32.
      f(x)=ax^4+bx^3+cx^2+dx+e. ࠧ f(x+1) १ f(x):
f(x+1)=f(x)+(4ax^3+(6a+3b)x^2+(4a+3b+2c)x+(a+b+c+d)=f(x)+g(x),

     g(x)=Ax^3+Bx^2+Cx+D.
㯨 筮   g(x):
     g(x+1)=g(x)+(3Ax^2+(3A+2B)x+(A+B+C))=g(x)+h(x), 
     h(x)=A'x^2+B'x+C'.
:
     h(x+1)=h(x)+(2A'x+(A'+B'))=h(x)+p(x),

     p(x)=A"x+B". p(x+1)=p(x)+A".
:
        f(x+4)=f(x+3)+g(x+3)
        g(x+3)=g(x+2)+h(x+2)
        h(x+2)=h(x+1)+p(x+1)
        p(x+1)=p(x)+A".
 砥 ࠣ ணࠬ:
     < BLOCK 1 >
     x:=5;
     repeat
       P:=P+A2;
       H:=H+P;
       G:=G+H;
       F:=F+G;
       writeln(x,F);
       x:=x+1;
     until x=10001;

     ⠪,    祭,  稭  5,   5 権
᫮.  ⠥  1000 権  ᫥ f(1),  f(2),
f(3), f(4),  樠樨
     P:=p(1); H:=h(2);  G:=g(3); (F:=f(4));
  ᫥  A2:=A". ᭮,  1000 権 墠   
᫥.

