рдкреНрд░рд╛рдЗрдо рдирдВрдмрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо

рдкреНрд░рд╛рдЗрдо рдирдВрдмрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЕрдиреБрдХреВрд▓рди


2 3 5 7 11 13 17 19 23 29 31 ... $ 250,000 ...

рдпрд╣ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдерд╛, рдЬрдм рд╣рдордиреЗ рдкрд╛рд╕реНрдХрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рд╣реЛрдорд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╛рдЗрдо рдирдВрдмрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдмрдирд╛рдирд╛ рдерд╛ред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдЕрдзреНрдпрдпрди рдХреА рдЬрд╛ рд░рд╣реА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдирдВрдмрд░ рдПрди рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдФрд░ рдПрди рд╕рдорд╛рд╡реЗрд╢реА рддрдХ рдХреЗ рд╕рднреА рдЕрдкрд░рд╛рдзреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреАред рдкрд╣рд▓реА рд╕рдлрд▓ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж, рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЗрдЪреНрдЫрд╛ рддреБрд░рдВрдд рдПрди = "рдХрдИ" рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдареАред рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрддрдиреА рддреЗрдЬреА рд╕реЗ рдирд╣реАрдВ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдорд╛рдорд▓рд╛ рдХрдИ рдЬрд╛рдВрдЪреЛрдВ рдореЗрдВ рдерд╛ (рдПрди * рдПрди / 2 рдХреЗ рдЖрджреЗрд╢ рдХрд╛), рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдерд╛ред рдирддреАрдЬрддрди, 5 рд╕рдорд╛рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдирд┐рдХрд▓реЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЗ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдпрд╛рдж рдХрд░рдирд╛ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдЕрдЬрдЧрд░ рдореЗрдВред

рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред рдЫрд╛рддреНрд░ рдХреЗ рд╕рд┐рд░ рдкрд░ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
#  1 #  N n = input("n=") #        lst = [] #  k     k = 0 #     2  N for i in xrange(2, n+1): #     2   for j in xrange(2, i): #    if i % j == 0: k = k + 1 #   ,     if k == 0: lst.append(i) else: k = 0 #     print lst 

рдЖрдкрдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЛ рдЧрд┐рдирдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЪрд░ k рдХреЛ рдЙрд╕рдХреЗ рдХрд░реНрддрд╡реНрдпреЛрдВ рд╕реЗ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рднрд╛рдЬрдХ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╕рдВрдЦреНрдпрд╛ рдЕрдм рдкреНрд░рд╛рдЗрдо рдирд╣реАрдВ рд╣реИред рд╕реВрдЪреА 2 рджреЗрдЦреЗрдВред
 #  2 n = input("n=") lst = [] for i in xrange(2, n+1): for j in xrange(2, i): if i % j == 0: #   ,   . break else: lst.append(i) print lst 

рдмреНрд░реЗрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд▓реВрдк рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рдмрд╛рд╣рд░реА рд▓реВрдк рдХреЗ рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдлрд┐рд░ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: "рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ 2 рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рдирд╣реАрдВ рд╣реИ рддреЛ 4 рд╕реЗ рдХреНрдпреЛрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ?"ред рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рд▓рд╛рднрд╛рдВрд╢ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдкрд░рд╛рдзреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрдХ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ ... рд╕реВрдЪреА 3 рджреЗрдЦреЗрдВред
 #  3 n = input("n=") lst=[] for i in xrange(2, n+1): #    (lst)   for j in lst: if i % j == 0: break else: lst.append(i) print lst 

рдФрд░ рдлрд┐рд░ рд╣рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЙрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдорд╛рдВрдЧреА рдЧрдИ рдЬрдбрд╝ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ M рдореЗрдВ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдкрд╛рдИ рд╣реИ, рддреЛ рдПрдХ рднрд╛рдЬрдХ qi рд╣реИ рдЬреИрд╕реЗ рдХрд┐ pi * qi = M. рдЕрд░реНрдерд╛рдд, рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рднреА рдЬреЛрдбрд╝рд┐рдпреЛрдВ рдореЗрдВ, рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдЕрдкреЗрдХреНрд╖рд┐рдд рдЬреЛрдбрд╝реА рд╕рдорд╛рди рдкрд╛рдИ рдФрд░ рдХреНрдпреВрдИ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реА рд╣реИ, рдЕрд░реНрдерд╛рдд, pi * pi = M => pi = sqrt (M)ред рд╕реВрдЪреА 4 рджреЗрдЦреЗрдВред
 #  4 from math import sqrt n = input("n=") lst=[] for i in xrange(2, n+1): for j in lst: if j > int((sqrt(i)) + 1): lst.append(i) break if (i % j == 0): break else: lst.append(i) print lst 

N = 10000 рдХреЗ рд╕рд╛рде рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4 рдореЗрдВ рдХреЛрдб рдмрд╣реБрдд рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 1000 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред рдПрдХ рдФрд░ "рддреНрд╡рд░рдХ" рд╣реИ, рдХреЗрд╡рд▓ рдЙрди рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдЬреЛ 1, 3, 7 рдпрд╛ 9 рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВ (рдЪреВрдВрдХрд┐ рдмрд╛рдХреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 2 рдпрд╛ 5 рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реИрдВ)ред рд╕реВрдЪреА 5 рджреЗрдЦреЗрдВред
 #  5 from math import sqrt n = input("n=") lst=[] for i in xrange(2, n+1): if (i > 10): if (i%2==0) or (i%10==5): continue for j in lst: if j > int((sqrt(i)) + 1): lst.append(i) break if (i % j == 0): break else: lst.append(i) print lst 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5 рдореЗрдВ рдПрдХ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЧрддрд┐ рдореЗрдВ рдереЛрдбрд╝реА рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ:
 #  6 from math import sqrt n = input("n=") lst=[2] for i in xrange(3, n+1, 2): if (i > 10) and (i%10==5): continue for j in lst: if j > int((sqrt(i)) + 1): lst.append(i) break if (i % j == 0): break else: lst.append(i) print lst 

рдХреБрд▓: рдЕрдВрддрд┐рдо рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рдЧрднрдЧ 1300 рдЧреБрдирд╛ рддреЗрдЬ рдЪрд▓рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдпрд╣ рдиреМрд╕рд┐рдЦрд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд░рдЪрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рд╕реВрдЪреА 7 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
 #  7 n = input("n=") lst=[2] for i in xrange(3, n+1, 2): if (i > 10) and (i%10==5): continue for j in lst: if j*j-1 > i: lst.append(i) break if (i % j == 0): break else: lst.append(i) print lst 


N = 10000 рдкрд░, рд╣рдо рд╕рдордп рд╕реАрдЦрддреЗ рд╣реИрдВ:
рд╕рдордп 1 = 26.24
рд╕рдордп 2 = 3.113
рд╕рдордп 3 = 0.413
рд╕рдордп 4 = 0.096
рд╕рдордп 5 = 0.087
рд╕рдордп 6 = 0.083
рд╕рдордп 7 = 0.053

рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рдЪрд▓рдиреА:
 #  8 n = input("n=") a = range(n+1) a[1] = 0 lst = [] i = 2 while i <= n: if a[i] != 0: lst.append(a[i]) for j in xrange(i, n+1, i): a[j] = 0 i += 1 print lst 


N = 1,000,000 рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо:
рд╕рдордп 7 = 7.088
рд╕рдордп 8 = 1.143

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


All Articles