Как разделить указанный c номер в списке? - PullRequest
0 голосов
/ 07 января 2020

Мерсенн Прайм следует этой формуле 2 ^ n-1. Я создал новый тип метода факторинга для чисел, которые не производят простых чисел Мерсенна. Это очень абстрактно. Предполагается, что если заданное число c применяется с использованием модульной математики, и новый номер становится (ноль), это не простое число Мерсенна. Я отправил статью в «Журнал теории чисел» в Интернете, однако журнал отклонил ее. Я приложил его, если вы хотите просмотреть его, я все еще чувствую, что мой метод обещает, но я не эксперт по кодированию. Этот PDF-файл я отправил в Журнал теории чисел Моя проблема в мой новый код я не знаю, как разделить число в списке. Список перечислен хорошо, но я хочу вычесть z = 11 из 253, что равняется 242, чем модифицировать его на 121, однако, когда я создаю диапазон от 1-254, мне кажется, что я не могу сделать это. Причина, по которой я заинтересован в этом, - 253 // 11 = 23, что в 2 ^ 11-1 раза больше. Я получил эту идею со страницы коэффициентов.

Введите 1:11, а второе число - 22, просто добавьте 1 и его 23.

Проверьте это https://goodcalculators.com/ratio-calculator/

Формула будет нацелена на любое число в диапазоне, и я ищу ноль.

Дополнительные сведения для grismar согласно запросу:

Grismar и другие ,

Что я обнаружил, так это то, что простые числа Мерсенна будут давать меньше нулей ниже числа 11 против числа типа 2 ^ 11-1. Также, когда вы выводите число вычитанием z, а затем mod z * z, вы можете найти число с наименьшим коэффициентом в нем после деления его на z. Диапазон должен быть достаточно большим, чтобы найти это число, но если оно равно нулю, просто разделите на z. Затем, например, когда вы найдете 23 путем деления 11 на 253. Вы можете разделить 23 на 2047, и вы должны получить 89. Скорее всего, если вы используете другое число для проверки этого фактора, вы получите дробь. Таким образом, при проверке с использованием этого метода, когда вы находите ноль для числа, которое не производит число Мерсенна, например. Давайте выберем 29. 536870911 ÷ 233 = 2304167, так что вы получите число факторов, а не дробь.

Это все факторы 536870911 [1, 233, 1103, 256999, 2089, 486737, 2304167, 536870911]

Если вы хотите получить более подробную информацию, оставьте комментарий, пожалуйста.

Программист в обучении ищет помощь, вот моя программа: 1 должен быть начальным диапазоном!

    while True:
        x = int(input("Use 1 for the start range to make this work correctly: 
    "))
        i = int(input("End Range: "))
        z = int(input("square of  primes multiplied by a number plus z which 
    does not make a 
    mersenne prime, this finds its factor of z: "))
        fact = [(i + 1, x) for i, x in enumerate(range(x, i))]



    print([((int(i)-z) % (z*z)) if isinstance(i, str) else i for i in fact])

1 Ответ

1 голос
/ 07 января 2020

Возможно, вы пытаетесь это сделать, вызов int не нужен, поскольку значения integers с самого начала. Кроме того, не используйте одну и ту же переменную i для разных целей:

calculations = [
    (index + 1, (fact_tuple[0] - z) % (z*z)) for index, fact_tuple in enumerate(fact)
]
print(calculations) # with x = 1, i = 254, z = 11
>>> [(1, 111), (2, 112), (3, 113), (4, 114), (5, 115), (6, 116), (7, 117), (8, 118), (9, 119), (10, 120), (11, 0), (12, 1), (13, 2), (14, 3), (15, 4), (16, 5), (17, 6), (18, 7), (19, 8), (20, 9), (21, 10), (22, 11), (23, 12), (24, 13), (25, 14), (26, 15), (27, 16), (28, 17), (29, 18), (30, 19), (31, 20), (32, 21), (33, 22), (34, 23), (35, 24), (36, 25), (37, 26), (38, 27), (39, 28), (40, 29), (41, 30), (42, 31), (43, 32), (44, 33), (45, 34), (46, 35), (47, 36), (48, 37), (49, 38), (50, 39), (51, 40), (52, 41), (53, 42), (54, 43), (55, 44), (56, 45), (57, 46), (58, 47), (59, 48), (60, 49), (61, 50), (62, 51), (63, 52), (64, 53), (65, 54), (66, 55), (67, 56), (68, 57), (69, 58), (70, 59), (71, 60), (72, 61), (73, 62), (74, 63), (75, 64), (76, 65), (77, 66), (78, 67), (79, 68), (80, 69), (81, 70), (82, 71), (83, 72), (84, 73), (85, 74), (86, 75), (87, 76), (88, 77), (89, 78), (90, 79), (91, 80), (92, 81), (93, 82), (94, 83), (95, 84), (96, 85), (97, 86), (98, 87), (99, 88), (100, 89), (101, 90), (102, 91), (103, 92), (104, 93), (105, 94), (106, 95), (107, 96), (108, 97), (109, 98), (110, 99), (111, 100), (112, 101), (113, 102), (114, 103), (115, 104), (116, 105), (117, 106), (118, 107), (119, 108), (120, 109), (121, 110), (122, 111), (123, 112), (124, 113), (125, 114), (126, 115), (127, 116), (128, 117), (129, 118), (130, 119), (131, 120), (132, 0), (133, 1), (134, 2), (135, 3), (136, 4), (137, 5), (138, 6), (139, 7), (140, 8), (141, 9), (142, 10), (143, 11), (144, 12), (145, 13), (146, 14), (147, 15), (148, 16), (149, 17), (150, 18), (151, 19), (152, 20), (153, 21), (154, 22), (155, 23), (156, 24), (157, 25), (158, 26), (159, 27), (160, 28), (161, 29), (162, 30), (163, 31), (164, 32), (165, 33), (166, 34), (167, 35), (168, 36), (169, 37), (170, 38), (171, 39), (172, 40), (173, 41), (174, 42), (175, 43), (176, 44), (177, 45), (178, 46), (179, 47), (180, 48), (181, 49), (182, 50), (183, 51), (184, 52), (185, 53), (186, 54), (187, 55), (188, 56), (189, 57), (190, 58), (191, 59), (192, 60), (193, 61), (194, 62), (195, 63), (196, 64), (197, 65), (198, 66), (199, 67), (200, 68), (201, 69), (202, 70), (203, 71), (204, 72), (205, 73), (206, 74), (207, 75), (208, 76), (209, 77), (210, 78), (211, 79), (212, 80), (213, 81), (214, 82), (215, 83), (216, 84), (217, 85), (218, 86), (219, 87), (220, 88), (221, 89), (222, 90), (223, 91), (224, 92), (225, 93), (226, 94), (227, 95), (228, 96), (229, 97), (230, 98), (231, 99), (232, 100), (233, 101), (234, 102), (235, 103), (236, 104), (237, 105), (238, 106), (239, 107), (240, 108), (241, 109), (242, 110), (243, 111), (244, 112), (245, 113), (246, 114), (247, 115), (248, 116), (249, 117), (250, 118), (251, 119), (252, 120), (253, 0)]

...