рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╣реЗрдбрд╣рдВрдЯрд░ рд╕реНрдХреВрд▓ рдХреЗ рдкрд╣рд▓реЗ рджреМрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рд╣реЗрдбрд╣рдВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕реНрдХреВрд▓ рдореЗрдВ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдЪрдпрди рдХрд╛ рдкрд╣рд▓рд╛ рджреМрд░ рдмреАрдд рдЪреБрдХрд╛ рд╣реИ, рдЧреАрдХ рдкрддреНрд░рд┐рдХрд╛ рдкрд░ рдШреЛрд╖рдгрд╛
рдЬрд╣рд╛рдВ рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рднрд░рдиреЗ рдХреЗ рдмрд╛рдж 5 рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдкреНрд░рд╢реНрдирд╛рд╡рд▓реА рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ:


рдЯрд╛рд╕реНрдХ 1


рд╢рд░реНрдд

рдХрд┐рддрдиреЗ n рдФрд░ k рдХреЗ рд▓рд┐рдП, 1 <= n <132, 1 <= k <n, рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рдВрдпреЛрдЬрди C (n, k)> 1,000,000?
рдЦреЛрдЬ рдХреА рдкреВрд░реА рдкреНрд░рд┐рдВрдЯрд╕реНрдХреНрд░реАрди


рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ

рдЗрд╕рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдХреНрдпрд╛ рдмрд╛рдд рд╣реИ? 132 рдпрд╣ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ, рдПрдХ рдкреВрд░реА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ, рд╣рдо рдЗрд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред
SciPy рдкреИрдХреЗрдЬ рд╕реЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ - рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ Matlab
рдХрд╛ рд╕рдорд╛рдзрд╛рди

from scipy.misc import * #     total = 0 for n in range(1,133): for k in range(1,n): if comb(n,k)>1000000: total=total+1 print "Answer: ",total 

рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдПрдВ:
 #:~/hh$ time python 1.py Answer: 7579 real 0m0.530s user 0m0.504s sys 0m0.020s #:~/hh$ 

рдПрдХ рдЧрд▓рддреА рдорд┐рд▓реА?
рд╣рд╛рд▓рдд рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рддрдХ рдкреНрд░рддрд┐рдмрдВрдз рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ


рдХрд╛рд░реНрдп 2:


рд╢рд░реНрдд

рдмреИрдЧ рдореЗрдВ 1 рд▓рд╛рд▓ рдФрд░ 1 рдиреАрд▓реА рдбрд┐рд╕реНрдХ рд╣реИред рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди, рдЦрд┐рд▓рд╛рдбрд╝реА рдкреНрд░рддрд┐ рдмрд╛рд░ рдмреИрдЧ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрд┐рд╕реНрдХ рд▓реЗрддрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рд░рдВрдЧ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓ рдХреЗ рдмрд╛рдж, рд▓реА рдЧрдИ рдбрд┐рд╕реНрдХ рдХреЛ рдмреИрдЧ рдореЗрдВ рд▓реМрдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдФрд░ рд▓рд╛рд▓ рдбрд┐рд╕реНрдХ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред
рдЦрд┐рд▓рд╛рдбрд╝реА рдкреНрд░рддрд┐ рдЧреЗрдо 1 рдпреВрд░реЛ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреАрддрддрд╛ рд╣реИ рдпрджрд┐ рдЦреЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрд╕реЗ рд▓рд╛рд▓ рд░рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдиреАрд▓реА рдбрд┐рд╕реНрдХ рдорд┐рд▓реАред рдпрджрд┐ рдЦреЗрд▓ 4 рд╕рд╛рд▓ рддрдХ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдЬреАрддрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ 11/120 рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЦреЗрд▓ рдореЗрдВ рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдкреБрд░рд╕реНрдХрд╛рд░ 10 рдпреВрд░реЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╡рд╣ рд╣рд╛рд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рднрд╛рдЧреАрджрд╛рд░реА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рднреБрдЧрддрд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЦрд┐рд▓рд╛рдбрд╝реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 9 рдпреВрд░реЛ рдЬреАрддрддрд╛ рд╣реИред
30 рдЪрд╛рд▓реЛрдВ рдХреЗ рдЦреЗрд▓ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкреВрд░реА рдкреБрд░рд╕реНрдХрд╛рд░ рд░рд╛рд╢рд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдЬреЛ рдЦреЗрд▓ рдХреЛ рдиреЗрддрд╛ рдХреЗ рд▓рд┐рдП рдиреБрдХрд╕рд╛рдирджреЗрд╣ рдирд╣реАрдВ рдмрдирд╛рддреА рд╣реИ?
рдПрдХ рд╣реА рдкреНрд░рд┐рдВрдЯрд╕реНрдХреНрд░реАрди рдХрд╛рд░реНрдп


рд╣рдо рд╣рд╛рд▓рдд рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ

рдЦреЗрд▓ рдХреЗ рджреМрд░рд╛рди, рд▓рд╛рд▓ рдЧреЗрдВрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдиреАрд▓рд╛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░, рдиреАрд▓реА рдкреНрд░рд╛рдпрд┐рдХрддрд╛ 1/2 рдХрд╛ рдЕрдиреБрдорд╛рди рджреВрд╕рд░реА рдмрд╛рд░ 1/3 рдХреЗ рд▓рд┐рдП, nth рд╕рдордп рдХреЗ рд▓рд┐рдП рдиреАрд▓рд╛ рдкрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ 1 / (n + 1) рд╣реИред
рд╣рдо рд╕реНрдерд┐рддрд┐ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ

рдпрджрд┐ рдЦреЗрд▓ рдХреА рдЕрд╡рдзрд┐ 4 рдЪрд╛рд▓ рд╣реИ, рддреЛ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ 1/2, 1/3, 1/4, 1/5 рд╣реИрдВред рдЬреАрддрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЗрд╡рд▓ 1 рдмрд╛рд░ рдЧрд▓рддреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдХрд┐рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рд╣рдордиреЗ рдЧрд▓рддреА рдХреА, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдЖрдЗрдП рд╕рдлрд▓рддрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ: 1/60 + 1/40 + 1/30 + 1/24 + 1/120 = 15/120
рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ

рдлреИрдХреНрдЯрд░рд┐рдпрд▓ 30 рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рд╣рдо рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдпреЛрдЬрди рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЕрдЬрдЧрд░ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд itertools рдкреИрдХреЗрдЬ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХрд╛ рд╕рдорд╛рдзрд╛рди

 import itertools game=30 comb=[] resb=1 for t in range(2,game+2): comb.append(t) resb=resb*t #    print comb resa=0 for q in range(game/2+1,game+1): #      print q,resa,resb #   for t in itertools.combinations(comb,q): #    ca=1 cb=1 for x in t: cb=cb*x tdiv=resb/cb resa=resa+tdiv*ca print game/2+1 print resa,resb #        


 #:~/hh/article$ time python 2.p [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31] 16 0 8222838654177922817725562880000000 17 6014558687904548121004575 8222838654177922817725562880000000 18 6363613319405364461146200 8222838654177922817725562880000000 19 6381128687025974988156255 8222838654177922817725562880000000 20 6381886877953385972148180 8222838654177922817725562880000000 21 6381915085555093961253855 8222838654177922817725562880000000 22 6381915982709887260743580 8222838654177922817725562880000000 23 6381916006925362413306495 8222838654177922817725562880000000 24 6381916007474554489499970 8222838654177922817725562880000000 25 6381916007484879987901695 8222838654177922817725562880000000 26 6381916007485037971122090 8222838654177922817725562880000000 27 6381916007485039887292479 8222838654177922817725562880000000 28 6381916007485039905011334 8222838654177922817725562880000000 29 6381916007485039905128639 8222838654177922817725562880000000 30 6381916007485039905129134 8222838654177922817725562880000000 16 6381916007485039905129135 8222838654177922817725562880000000 real 23m2.424s user 23m0.238s sys 0m0.168s #:~/hh/article$ 

рдЬрдмрдХрд┐ рдпрд╣ 23 рдорд┐рдирдЯ рдЧрд┐рдирддрд╛ рд╣реИ, рд╣рдо рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред
рднрд┐рдиреНрди рдХреЛ рдЕрдзрд┐рдХрддрдо рд▓рд╛рдн рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╣рдо рднрд╛рдЬрдХ рдХреЛ рдЕрдВрд╢ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ "рд╕реНрд╡-рдкреБрдирд░реНрднреБрдЧрддрд╛рди" рд▓рд╛рдн рдХрд╛ рдЖрдХрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред
 #:~/hh/article$ bc -l bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 8222838654177922817725562880000000/6381916007485039905129135 1288459240.85082818135254719839 ^C (interrupt) use quit to exit. #:~/hh/article$ 

рд╣рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдЕрдЧреНрд░рджреВрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдо рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред 1288459240
рдПрдХ рдЧрд▓рддреА рдорд┐рд▓реА?
рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЧрд▓рдд рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ред рдЧрд┐рдирддреА рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдХрдИ рд▓рд╛рд▓ рд╕реЗ рдиреАрд▓реЗ рд░рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрд▓реНрдХрд┐ рдХрдИ рдореЗрдВ рд╕реЗ рдПрдХ рд▓рд╛рд▓ рднреА рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ:
 from datetime import datetime import itertools game=30 comb=[] resb=1 for t in range(2,game+2): comb.append(t) resb=resb*t print comb resa=0 st=datetime.now() for q in range(0,game/2): #         ct=datetime.now() print q, ct-st st=ct for t in itertools.combinations(comb,q): #    q      ta=1 for x in t: ta=ta*(x-1) #      (  1)    -        ,     ,  itertools.combinations      x resa=resa+ta print resa,resb 

рд▓реЙрдиреНрдЪ рдХреЗ 15 рдорд┐рдирдЯ рдмрд╛рдж рдЬрд╡рд╛рдм рдорд┐рд▓рддрд╛ рд╣реИ


рдХрд╛рд░реНрдп 3:


рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрди рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╛рдИрдВ рдУрд░ рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдмрдврд╝рддреА рд╣реБрдИ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг 133456 рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛рдПрдВ рджрд╛рдИрдВ рдУрд░ рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдШрдЯрд╛рдирд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг: 66420ред
рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рди рддреЛ рдмрдврд╝ рд░рд╣реА рд╣реИ рдФрд░ рди рд╣реА рдШрдЯ рд░рд╣реА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдХреВрджрдирд╛ рдХрд╣реЗрдВрдЧреЗред
10 ^ 75 рд╕реЗ рдХрдо рдХрд┐рддрдиреА рдЙрдЫрд▓рддреА рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВ?
рдкреНрд░рд┐рдВрдЯрд╕реНрдХреНрд░реАрди рдЦреЛрдЬ


рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ:

рдкреВрд░реНрдг рдЧрдгрдирд╛ рд▓рдВрдмреА рд╣реИ, рдФрд░ рдкреНрд░реЗрд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ)
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд╛рдИрдВ рдУрд░ рдХреА рдХрд┐рд╕реА рднреА рдмрдврд╝рддреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкрд╣рд▓реЗ рдЕрдВрдХ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рджрд╛рдИрдВ рдУрд░ рдХреА рдХрд┐рд╕реА рднреА рдШрдЯрддреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЖрдк рд╢реВрдиреНрдп рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдВрддрд┐рдо рдЕрдВрдХ рддрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ:


 #    a={} #   b={} #   for t in range(0,11): a[1,t]=1 #   -  ,   - () .  -    b[1,t]=1 def snext(tail): global a,b tvar=0 btvar=0 for d in range(0,11): #      a[tail,d]=0 b[tail,d]=0 for d in range(1,10): #    var=0 bvar=0 t=a[tail-1,d] tb=b[tail-1,d] for q in range(1,d+1): var=var+t a[tail,q]=a[tail,q]+t#var tvar=tvar+var for d in range(0,10): #    bvar=0 tb=b[tail-1,d] for q in range(d,10): bvar=bvar+tb b[tail,q]=b[tail,q]+tb btvar=btvar+bvar btvar=btvar-1 print tail,tvar,btvar return [tvar,btvar] start=0 for q in range(2,76): [pa,pb]=snext(q) start=start-pa-pb-9 # ..     , , ....,    -   9 start=start-10 #     print "10^75", start 

рд▓рдВрдмрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдЙрдЯрдкреБрдЯ
 #:~/hh/article$ time python 3.py 2 45 54 3 165 219 4 495 714 5 1287 2001 6 3003 5004 7 6435 11439 8 12870 24309 9 24310 48619 10 43758 92377 11 75582 167959 12 125970 293929 13 203490 497419 14 319770 817189 15 490314 1307503 16 735471 2042974 17 1081575 3124549 18 1562275 4686824 19 2220075 6906899 20 3108105 10015004 21 4292145 14307149 22 5852925 20160074 23 7888725 28048799 24 10518300 38567099 25 13884156 52451255 26 18156204 70607459 27 23535820 94143279 28 30260340 124403619 29 38608020 163011639 30 48903492 211915131 31 61523748 273438879 32 76904685 350343564 33 95548245 445891809 34 118030185 563921994 35 145008513 708930507 36 177232627 886163134 37 215553195 1101716329 38 260932815 1362649144 39 314457495 1677106639 40 377348994 2054455633 41 450978066 2505433699 42 536878650 3042312349 43 636763050 3679075399 44 752538150 4431613549 45 886322710 5317936259 46 1040465790 6358402049 47 1217566350 7575968399 48 1420494075 8996462474 49 1652411475 10648873949 50 1916797311 12565671260 51 2217471399 14783142659 52 2558620845 17341763504 53 2944827765 20286591269 54 3381098545 23667689814 55 3872894697 27540584511 56 4426165368 31966749879 57 5047381560 37014131439 58 5743572120 42757703559 59 6522361560 49280065119 60 7392009768 56672074887 61 8361453672 65033528559 62 9440350920 74473879479 63 10639125640 85113005119 64 11969016345 97082021464 65 13442126049 110524147513 66 15071474661 125595622174 67 16871053725 142466675899 68 18855883575 161322559474 69 21042072975 182364632449 70 23446881315 205811513764 71 26088783435 231900297199 72 28987537150 260887834349 73 32164253550 293052087899 74 35641470150 328693558049 75 39443226966 368136785015 10^75 -3497299458233 real 0m0.070s user 0m0.044s sys 0m0.020s #:~/hh/article$ 


рдПрдХ рдЧрд▓рддреА рдорд┐рд▓реА?
рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ:
рд╣рдо рдмрдврд╝рддреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд╛рддреЗ рд╣реИрдВ, рдШрдЯрддреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рджрд░реНрдкрдг рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рддреЗ рд╣реИрдВред

рдмрдврд╝рддреА рд╣реБрдИ рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдорд╛рдВрдЧреА рдЧрдИ рд╣реИ:
рдпрджрд┐ рд╕реЗрдЯ рд╕реЗ рдХрдИ рдЕрдВрдХ {0,1,2,3,4,5,6,7,8,9} рджрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рд░рд┐рдЯрд░реНрди рдХреЗ рд╕рд╛рде рдХрд▓рд╢ рдХрд╛ рдирдореВрдирд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдСрд░реНрдбрд░ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдП рдмрд┐рдирд╛

рдпрд╣ рдШрдЯрддреЗ рд╣реБрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рд╢реВрдиреНрдп рд╣рдореЗрд╢рд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рд╢рд╛рдпрдж рд╢реБрд░реБрдЖрдд рдореЗрдВред рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдВрдЦреНрдпрд╛ {1,2,3,4,5,6,7,8,9} рд╕реЗ рдЪреБрдиреЗрдВрдЧреЗ рдФрд░ рд╢реВрдиреНрдп рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЦрд╛рд▓реА рдЬрдЧрд╣реЛрдВ рдкрд░ рд░рдЦреЗрдВрдЧреЗред рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдХреЗрд╡рд▓ рд╕рднреА рдЕрдВрдХреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдПрдХ рдЬрдВрдкрд┐рдВрдЧ рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдПрди рд╢реВрдиреНрдп рд╣рдо рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдПрди + 1 рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 import sys from scipy.misc import * game = int(sys.argv[1])# 75 def czero(game,fill): sort=long(round(comb(fill+8,fill),0)) #  fill   1  9 return sort*(game-fill+1) #      def nzero(game): return long(round(comb(game+9,game),0)) #    0  9 zans=0 nans=nzero(game) for fill in range(1,game+1): zans=zans+czero(game,fill) zans=zans+1 print nans, zans ans=nans+zans-(game-1)*9-10 print 10**game-ans 



рдХрд╛рд░реНрдп 4:


рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдРрд╕реЗ рд╕рджрд╕реНрдп рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреНрдЮрд╛рдд рдХреАрдЬрд┐рдП рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1369 рд╣реИ
рдкреВрд░реНрдг рдкреНрд░рд┐рдВрдЯрд╕реНрдХреНрд░реАрди рдЦреЛрдЬ


рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ:

рд╣рдо рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВрдЧреЗ рдФрд░ рд▓рдВрдмрд╛рдИ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред
рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ:

 mlen=1369 a1=1 a2=1 ct=2 while len(str(a1+a2))<mlen: a3=a1+a2 a1=a2 a2=a3 ct=ct+1 ct=ct+1 print a3,len(str(a3)),ct 

 #:~/hh$ time python 4.py 1368 6548 real 0m0.183s user 0m0.164s sys 0m0.012s #:~/hh$ 

рдПрдХ рдЧрд▓рддреА рдорд┐рд▓реА?
рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ :)

рдХрд╛рд░реНрдп 5:


рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрддрд┐рдо рдпреЛрдЧ рдореЗрдВ рдЕрдВрддрд┐рдо 10 рдЕрдВрдХ рдЬреНрдЮрд╛рдд рдХрд░реЗрдВ, 1 ^ 1 + 2 ^ 2 + 3 ^ 3 + ... + 11+ ^ 4545
рдкреВрд░реНрдг рдкреНрд░рд┐рдВрдЯрд╕реНрдХреНрд░реАрди рдЦреЛрдЬ


рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ:

рд╕рдВрдЦреНрдпрд╛ 1145 рд╕реЗ 1145 рдбрд┐рдЧреНрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝реА рд╣реИред рдХрд╛рд░реНрдп рдореЗрдВ рд╡реЗ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо 10 рдЕрдВрдХ рдкреВрдЫрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВрдЧреЗ - рд╣рдо рддреБрд░рдВрдд рд╕рдм рдХреБрдЫ modulo рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ:

рдбрд┐рдЧреНрд░реА рдореЛрдбреБрд▓реЛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо http://userpages.umbc.edu/~rcampbel/Computers/Python/numbthy.html рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ
Http://userpages.umbc.edu/~rcampbel/Computers/Python/lib/numbthy.py рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреЗрдВ:
 import numbthy as np t=0 for i in range(1,1146): t=t+np.powmod(i,i,1000000000000000000000) print t % 10000000000 


 #:~/hh$ time python 5.py 7110603381 real 0m0.029s user 0m0.020s sys 0m0.004s #:~/hh$ 


рдПрдХ рдЧрд▓рддреА рдорд┐рд▓реА?
рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ :)


рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ 2 рдореЗрдВ рд╕реЗ 5 рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИрдВред рдореИрдВ рдПрдХ рдЧрд▓рддреА рдЬрд╛рдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдХрд╣рд╛рдВ рд╣реИрдВ?

Source: https://habr.com/ru/post/In155015/


All Articles