пʼятниця, 26 лютого 2021 р.

Послідовність Adogen Aq(k,l,m,n),

Алгоритми для знаходження чисел  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)