Алгоритми для знаходження чисел Adogen
Означення. Послідовність чисел, називається послідовність Adogen Aq(k,l,m,n), для натуральних чисел m, n, k, l, q , якщо виконуються такі умови:
1) A1(k,l,m,n)) = 0; для натурального n> 0, k>0, l >0, m>0,
2)Aq(k,l,m,n)) = Aq-1(k,l,m,n) +k*q+l, якщо Aq-1(k,l,m,n) -k*m-l <=0 і число Aq-1(k,l,m,n) +k*q+l ще не належить цій послідовності;
3)Aq(k,l,m,n)) = Aq-1(k,l,m,n) - k*q- l, якщо Aq-1(k,l,m,n) -k*m-l >0 і число Aq-1(k,l,m,n) - k*q- l ще не належить цій послідовності.
Гіпотеза. Послідовність Adogen Aq(k,l,m,n), ), для натуральних чисел m,
n, k, l, q містить усі натуральні числа.
Алгоритм мовою Python3 для знаходження
чисел Adogen Aq(1,1,1,1):
Приклад 110 члени послідовності Adogen Aq(1,1,1,1):
[0, 2, 5, 1, 6, 12, ' ', 13, 4, 14, 3, 15, ' ', 16, ' ', 17, 34, ' ', 35, '
', 36, ' ', 37, ' ', 38, ' ', 39, 11, 40, 10, 41, 9, 42, 8, 43, 7, 44, ' ', 45,
' ', 46, ' ', 47, ' ', 48, ' ', 49, ' ', 50, 100, ' ', 101, ' ', 102, ' ', 103,
' ', 104, ' ', 105, ' ', 106, ' ', 107, ' ', 108, ' ', 109, ' ', 110, ' ', 111,
' ', 112, ' ', 113, ' ', 114, ' ', 115, ' ', 116, 33, 117, 32, 118, 31, 119,
30, 120, 29, 121, 28, 122, 27, 123, 26, 124, 25, 125, 24, 126, 23, 127, 22,
128, 21, 129, 20, 130, 19, 131, 18, 132, ' ', 133, ' ', 134, ' ', 135, ' ',
136, ' ', 137, ' ', 138, ' ', 139, ' ', 140, ' ', 141, ' ', 142, ' ', 143, ' ',
144, ' ', 145, ' ', 146, ' ', 147, ' ', 148, ' ', 149, 298, ' ', 299, ' ', 300,
' ', 301, ' ', 302, ' ', 303, ' ', 304, ' ', 305, ' ', 306, ' ', 307, ' ', 308,
' ', 309, ' ', 310, ' ', 311, ' ', 312, ' ', 313, ' ', 314, ' ', 315, ' ', 316,
' ', 317, ' ', 318, ' ', 319, ' ', 320, ' ', 321, ' ', 322, ' ', 323, ' ']
Реалізація.
print("Послідовність чисел Адоген")
r=['None']*200
q=['None']*200
r[0]=0
ss=0
def adogen(n,k,l,s,t):
a=0
for m in
range(1,n):
if
a-k*m-l<=0:
a=a+k*m+l; r[m]=a;
else:
a=a-s*m-t; r[m]=a;
return r, ss
adogen(200, 1,1,1,1)
print(r)
for n in range(0,200):
q[n]=r[n]
for n in range(0,200):
for m in
range(0,n-1):
if
r[n]==r[m]:
q[n]='
'; ss=ss+1
print(q)
print("Фільтрування чисел Адоген від повторів")
print("Кількість чисел Адоген")
print(200-ss)
Алгоритм мовою Python3 для знаходження
чисел Adogen Aq(2,1,2,1):
Приклад 137 членів послідовності Adogen Aq(2,1,2,1):
[0, 3, 8, 1, 10, 21, ' ', 23, 6, 25, 4, 27, 2, 29, 58, '
', 60, ' ', 62, ' ', 64, ' ', 66, 19, 68, 17, 70, 15, 72, 13, 74, 11, 76, 9,
78, 7, 80, 5, 82, ' ', 84, ' ', 86, 173, ' ', 175, ' ', 177, ' ', 179, ' ',
181, ' ', 183, ' ', 185, ' ', 187, ' ', 189, ' ', 191, ' ', 193, ' ', 195, ' ',
197, ' ', 199, ' ', 201, 56, 203, 54, 205, 52, 207, 50, 209, 48, 211, 46, 213,
44, 215, 42, 217, 40, 219, 38, 221, 36, 223, 34, 225, 32, 227, 30, 229, 28,
231, 26, 233, 24, 235, 22, 237, 20, 239, 18, 241, 16, 243, 14, 245, 12, 247, '
', 249, ' ', 251, ' ', 253, ' ', 255, ' ', 257, 514, ' ', 516, ' ', 518, ' ',
520, ' ', 522, ' ', 524, ' ', 526, ' ', 528, ' ', 530, ' ', 532, ' ', 534, ' ',
536, ' ', 538, ' ', 540, ' ', 542, ' ', 544, ' ', 546, ' ', 548, ' ', 550, ' ',
552, ' ', 554, ' ', 556, ' ', 558, ' ', 560, ' ', 562, ' ', 564, ' ', 566, ' ',
568, ' ', 570, ' ', 572, ' ', 574, ' ', 576, ' ', 578, ' ', 580, ' ', 582, ' ',
584, ' ']
Реалізація
print("Послідовність чисел Адоген")
r=['None']*200
q=['None']*200
r[0]=0
ss=0
def adogen(n,k,l,s,t):
a=0
for m in
range(1,n):
if
a-k*m-l<=0:
a=a+k*m+l; r[m]=a;
else:
a=a-s*m-t; r[m]=a;
return r, ss
adogen(200, 2,1,2,1)
print(r)
for n in range(0,200):
q[n]=r[n]
for n in range(0,200):
for m in
range(0,n-1):
if
r[n]==r[m]:
q[n]='
'; ss=ss+1
print(q)
print("Фільтрування чисел Адоген від повторів")
print("Кількість чисел Адоген")
print(200-ss)
Алгоритм мовою Python3 для знаходження
чисел Adogen Aq(3,1,3,1):
Приклад 142 члени послідовності Adogen Aq(3,1,3,1):
[0, 4, 11, 1, 14, 30, ' ', 33, 8, 36, 5, 39, 2, 42, 85, ' ', 88, ' ', 91, '
', 94, ' ', 97, 27, 100, 24, 103, 21, 106, 18, 109, 15, 112, 12, 115, 9, 118,
6, 121, 3, 124, 248, ' ', 251, ' ', 254, ' ', 257, ' ', 260, ' ', 263, ' ',
266, ' ', 269, ' ', 272, ' ', 275, ' ', 278, ' ', 281, ' ', 284, ' ', 287, 82,
290, 79, 293, 76, 296, 73, 299, 70, 302, 67, 305, 64, 308, 61, 311, 58, 314,
55, 317, 52, 320, 49, 323, 46, 326, 43, 329, 40, 332, 37, 335, 34, 338, 31,
341, 28, 344, 25, 347, 22, 350, 19, 353, 16, 356, 13, 359, 10, 362, 7, 365, '
', 368, ' ', 371, 744, ' ', 747, ' ', 750, ' ', 753, ' ', 756, ' ', 759, ' ',
762, ' ', 765, ' ', 768, ' ', 771, ' ', 774, ' ', 777, ' ', 780, ' ', 783, ' ',
786, ' ', 789, ' ', 792, ' ', 795, ' ', 798, ' ', 801, ' ', 804, ' ', 807, ' ',
810, ' ', 813, ' ', 816, ' ', 819, ' ', 822, ' ', 825, ' ', 828, ' ', 831, ' ',
834, ' ', 837, ' ', 840, ' ', 843, ' ', 846, ' ', 849, ' ', 852, ' ', 855, ' ']
Реалізація
print("Послідовність чисел Адоген")
r=['None']*200
q=['None']*200
r[0]=0
ss=0
def adogen(n,k,l,s,t):
a=0
for m in
range(1,n):
if
a-k*m-l<=0:
a=a+k*m+l; r[m]=a;
else:
a=a-s*m-t; r[m]=a;
return r, ss
adogen(200, 3,1,3,1)
print(r)
for n in range(0,200):
q[n]=r[n]
for n in range(0,200):
for m in
range(0,n-1):
if
r[n]==r[m]:
q[n]='
'; ss=ss+1
print(q)
print("Фільтрування чисел Адоген від повторів")
print("Кількість чисел Адоген")
print(200-ss)
Алгоритм мовою Python3 для знаходження
чисел Adogen Aq(4,1,4,1):
Приклад 142 члени послідовності Adogen Aq(4,1,4,1):
[0, 5, 14, 1, 18, 39, ' ', 43, 10, 47, 6, 51, 2, 55, 112, ' ', 116, ' ',
120, ' ', 124, ' ', 128, 35, 132, 31, 136, 27, 140, 23, 144, 19, 148, 15, 152,
11, 156, 7, 160, 3, 164, 329, ' ', 333, ' ', 337, ' ', 341, ' ', 345, ' ', 349,
' ', 353, ' ', 357, ' ', 361, ' ', 365, ' ', 369, ' ', 373, ' ', 377, ' ', 381,
108, 385, 104, 389, 100, 393, 96, 397, 92, 401, 88, 405, 84, 409, 80, 413, 76,
417, 72, 421, 68, 425, 64, 429, 60, 433, 56, 437, 52, 441, 48, 445, 44, 449,
40, 453, 36, 457, 32, 461, 28, 465, 24, 469, 20, 473, 16, 477, 12, 481, 8, 485,
4, 489, 978, ' ', 982, ' ', 986, ' ', 990, ' ', 994, ' ', 998, ' ', 1002, ' ',
1006, ' ', 1010, ' ', 1014, ' ', 1018, ' ', 1022, ' ', 1026, ' ', 1030, ' ',
1034, ' ', 1038, ' ', 1042, ' ', 1046, ' ', 1050, ' ', 1054, ' ', 1058, ' ',
1062, ' ', 1066, ' ', 1070, ' ', 1074, ' ', 1078, ' ', 1082, ' ', 1086, ' ',
1090, ' ', 1094, ' ', 1098, ' ', 1102, ' ', 1106, ' ', 1110, ' ', 1114, ' ',
1118, ' ', 1122, ' ', 1126, ' ', 1130, ' ']
Реалізація.
print("Послідовність чисел Адоген")
r=['None']*200
q=['None']*200
r[0]=0
ss=0
def adogen(n,k,l,s,t):
a=0
for m in
range(1,n):
if
a-k*m-l<=0:
a=a+k*m+l; r[m]=a;
else:
a=a-s*m-t; r[m]=a;
return r, ss
adogen(200, 4,1,4,1)
print(r)
for n in range(0,200):
q[n]=r[n]
for n in range(0,200):
for m in
range(0,n-1):
if
r[n]==r[m]:
q[n]='
'; ss=ss+1
print(q)
print("Фільтрування чисел Адоген від повторів")
print("Кількість чисел Адоген")
print(200-ss)
Немає коментарів:
Дописати коментар