все больше и больше и они покрывают все вящее пространство.
Да, совсем забыл, для большей «обозримости» комбинацию «2*3» я заменил на «A».
/Какая жалось, в fb2 с красками беда. А в оригинале все блистает./
Посмотрите, а вдруг вы заметите закономерности, которых, не заметил я.
2
3
4 -> 2*2
5
6-> A*1
7
8 -> 2*2*2
9 -> 3*3
10 -> 2*5
11
12-> A*2 # Как интересно…
13
14 -> 2*7
15 -> 3*5
16 -> 2*2*2*2
17
18-> A*3 # «близнецы»
19
20 -> 2*2*5
21 -> 3*7
22 -> 2*11
23
24-> A*4
25 -> 5*5
26 -> 2*13
27 -> 3*3*3
28 -> 2*2*7
29
30-> A*5 # только около простых множителей?
31
32 -> 2*2*2*2*2
33 -> 3*11
34 -> 2*17
35 -> 5*7
36-> A*6
37
38 -> 2*19
39 -> 3*13
40 -> 2*2*2*5
41
42-> A*7
43
44 -> 2*2*11
45 -> 3*3*5
46 -> 2*23
47
48-> A*8
49 -> 7*7
50 -> 2*5*5
51 -> 3*17
52 -> 2*2*13
53
54-> A*9
55 -> 5*11
56 -> 2*2*2*7
57 -> 3*19
58 -> 2*29
59
60-> A*10 # Предположение не подтвердилось
61
62 -> 2*31
63 -> 3*3*7
64 -> 2*2*2*2*2*2
65 -> 5*13
66-> A*11 # множитель простой, а «близнецов» нет.
67
68 -> 2*2*17
69 -> 3*23
70 -> 2*5*7
71
72-> A*12
73
74 -> 2*37
75 -> 3*5*5
76 -> 2*2*19
77 -> 7*11
78-> A*13
79
80 -> 2*2*2*2*5
81 -> 3*3*3*3
82 -> 2*41
83
84-> A*14
85 -> 5*17
86 -> 2*43
87 -> 3*29
88 -> 2*2*2*11
89
90-> A*15
91 -> 7*13
92 -> 2*2*23
93 -> 3*31
94 -> 2*47
95 -> 5*19
96-> A*16
97
98 -> 2*7*7
99 -> 3*3*11
100 -> 2*2*5*5
101
102 -> A*17
103
104 -> 2*2*2*13
105 -> 3*5*7
106 -> 2*53
107
108 -> A*18
109
110 -> 2*5*11
111 -> 3*37
112 -> 2*2*2*2*7
113
114 -> A*19
115 -> 5*23
116 -> 2*2*29
117 -> 3*3*13
118 -> 2*59
119 -> 7*17
120 -> A*20 # Ну, вот наконец, простых чисел нет
121 -> 11*11
122 -> 2*61
123 -> 3*41
124 -> 2*2*31
125 -> 5*5*5
126 -> A*21
127
128 -> 2*2*2*2*2*2*2
129 -> 3*43
130 -> 2*5*13
131
132 -> A*22
133 -> 7*19
134 -> 2*67
135 -> 3*3*3*5
136 -> 2*2*2*17
137
138 -> A*23
139
140 -> 2*2*5*7
141 -> 3*47
142 -> 2*71
143 -> 11*13
144 -> A*24
145 -> 5*29
146 -> 2*73
147 -> 3*7*7
148 -> 2*2*37
149
150 -> A*25
151
152 -> 2*2*2*19
153 -> 3*3*17
154 -> 2*7*11
155 -> 5*31
156 -> A*26
157
158 -> 2*79
159 -> 3*53
160 -> 2*2*2*2*2*5
161 -> 7*23
162 -> A*27
163
164 -> 2*2*41
165 -> 3*5*11
166 -> 2*83
167
168 -> A*28
169 -> 13*13
170 -> 2*5*17
171 -> 3*3*19
172 -> 2*2*43
173
174 -> A*29
175 -> 5*5*7
176 -> 2*2*2*2*11
177 -> 3*59
178 -> 2*89
179
180 -> A*30
181
182 -> 2*7*13
183 -> 3*61
184 -> 2*2*2*23
---
В последнее время я пишу на Питоне. Как вы знаете, в Python структурообразующими являются отступы. К сожалению HTML, как и FB2 “проглатывают” лишние пробелы. Для читабельности скрипта я добавляю в текст вместо отступа блок « . .».
Извиняюсь за многократно повторяющийся код, но выкладываю скрипты целиком.
03.08.23
prostoe5.py
1|#!/usr/bin/env python
2|# -*- codning: utf-8 -*-
3|import math
4|L = [2]
5|List = []
6|def SaveList(L):
7| . .f = open('list22.txt', 'w', encoding="utf-8")
8| . .for i in L:
9| . . . .f.write(i+'n')#
10| . .f.close()
11|
12|def is_prime(n):
13| . .if n <= 1:
14| . . . .return False
15| . .if n % 2 == 0:
16| . . . .return n == 2
17|
18| . .max_div = math.floor(math.sqrt(n))
19| . .for i in range(3, 1 + max_div, 2):
20| . . . .if n % i == 0:
21| . . . . . .return False
22| . .return True
23|
24|num = 0
25|def divisor(m):
26| . .global num
27| . .for c in L:
28| . . . .k = m // c
29| . . . .if k * c == m:
30| . . . . . .num = c
31| . . . . . .return k
32|
33|def decompose(m): # разложение на сомножетили
34| . .s = ''
35| . .while m > 1:
36| . . . .m = divisor(m)
37| . . . .s = s + str(num)+'*'
38| . .return s
39|
40|oldn = 0
41|for n in range(3,2900):
42| . .if is_prime(n):
43| . . . .L.append(n)
44| . . . .if n - oldn == 2: # обнаружение простых «двойников»
45| . . . . . .s = str(oldn)+ ' '+str(oldn +1)+'='+decompose(oldn +1)[:-1]+' '+ str(n)
46| . . . . . .List.append('---')
47| . . . . . .List.append(s)
48| . . . .oldn = n
50|
51|SaveList(List)
52|print('Done!')
////////////
03.08.23
prostoe6.py
Распечатка списка простых чисел, с разложением окружения на сомножители.
1|#!/usr/bin/env python
2|# -*- codning: utf-8 -*-
3|import math, time
4|t0 = time.time()
5|L = [2]
6|List = []
7|def SaveList(L):
8| . .f = open('listPP.txt', 'w', encoding="utf-8")
9| . .for i in L:
10| . . . .f.write(i+'n')#
11| . .f.close()
12|
13|def is_prime(n):
14| . .if n <= 1:
15| . . . .return False
16| . .if n % 2 == 0:
17| . . . .return n == 2
18|
19| . .max_div = math.floor(math.sqrt(n))
20| . .for i in range(3, 1 + max_div, 2):
21| . . . .if n % i == 0:
22| . . .