Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.07.2021
Сообщений: 19

Среди целых чисел, принадлежащих числовому отрезку, найти числа, имеющие ровно два различных натуральных дели

22.11.2021, 19:11. Показов 9013. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в два соседних столбца на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке также должны следовать в порядке возрастания.
Python
1
2
3
4
5
6
7
8
9
10
11
d = []
n = 0
for i in range(174457, 174505):
    n = 0
    for j in range(2, i // 2):
        if i % j == 0:
            n += 1
            if n > 2:
                d.append(i)
                break
            print(d[1], d[2])

Это мой код, который я набрал. Нужна помощь в решение данной задачи. Просьба отвечать на сообщение, если Вы набрали у себя на компе код и он реально работает. Спасибо!!)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.11.2021, 19:11
Ответы с готовыми решениями:

Среди чисел, принадлежащих числовому отрезку [194455; 194500], найти числа, имеющие ровно 4 различных делителя
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа, имеющие ровно 4 различных делителя.

Программа которая ищет среди целых чисел числового отрезка числа имеющие ровно два различных натуральных делителя
Помогите написать программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа, имеющие ровно два различных...

Среди целых чисел, принадлежащих числовому отрезку [2943444; 2943529], найти простые числа (Паскаль -> C++)
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , простые числа. Выведите все найденные простые числа в...

9
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
22.11.2021, 19:28
даже набирать не стал. он точно не работает. начните с нахождения простых чисел из диапазона. в список нужно добавлять кортеж из двух делителей. потом отсортировать список по условию
Цитата Сообщение от Haker_228 Посмотреть сообщение
порядке возрастания произведения этих двух делителей
. у вас ни одного этого пункта нет
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
22.11.2021, 19:37
Лучший ответ Сообщение было отмечено Haker_228 как решение

Решение

Semen-Semenich, можно и без простых чисел - диапазон маленький. А так в общем случае, конечно начинать с поиска простых чисел.
Haker_228,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
for i in range(174457, 174505):
    d = []
    n = 0
    j = 2
    while j*j < i:
        if i % j == 0:
            n += 2
            d.extend([j, i//j])
            if n > 2:
                break
        j += 1
    if n == 2:
        print(*d)
1
0 / 0 / 0
Регистрация: 09.07.2021
Сообщений: 19
22.11.2021, 19:43  [ТС]
Спасибо за ответ, ты мне очень помог) Это задание из егэ, поэтому я теперь буду знать как решать подобные задачи)))
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
22.11.2021, 19:57
Haker_228, это решение для данной задачи.
В общем случае, как указал Semen-Semenich нужно найти все простые числа до корня из максимума диапазона. Потом искать делимость очередного числа последовательно на числа из списка простых чисел... И проверять по условию задачи
0
0 / 0 / 0
Регистрация: 09.07.2021
Сообщений: 19
22.11.2021, 20:59  [ТС]
А как тогда можно решить его по другому,
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
22.11.2021, 22:17
Haker_228, при таком диапазоне быстрее на порядок. Потому что массив простых чисел здесь состоит из 99 элементов, а проход по j в предыдущем коде больше 400 раз (внутренний цикл максимум 99 против минимум 417).
Можно, например, так (без дополнительных модулей):
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Решето Эратосфена
def primes(n) :
    res = {2}
    prime = [True] * (n+1)
    for i in range(3, n + 1, 2) :
        if not prime[i]:
            continue
        res.add(i)
        for j in range(i * i, n+1, i):
            prime[j] = False
    return sorted(res)
 
 
a = 174457
b = 274505
pr = primes(int(b**.5))
 
res = []
for i in range(a, b+1):
    num = i
    n = 0
    tmp = False
    for p in pr:
        if p*p > i:
            break
        if num % p == 0:
            n += 1
            num //= p 
            tmp = (p, num)
            if num%p == 0 or n == 2:
                tmp = False
                break
    if tmp:
        res.append(tmp)
print(len(res))
"""for e in res:
    print(*e)"""
0
0 / 0 / 0
Регистрация: 09.07.2021
Сообщений: 19
22.11.2021, 22:25  [ТС]
Программа выполняется то быстрее, но код намного длиннее
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
22.11.2021, 22:52
Лучший ответ Сообщение было отмечено Haker_228 как решение

Решение

Цитата Сообщение от Haker_228 Посмотреть сообщение
код намного длиннее
так перепиши это "спагетти" в нормальный вид.
там в строк 8-10 все укладывается.
0
0 / 0 / 0
Регистрация: 09.07.2021
Сообщений: 19
22.11.2021, 23:44  [ТС]
А зачем? Ведь мне уже всё написали в 1 раз. Мне дали чёткий ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2021, 23:44
Помогаю со студенческими работами здесь

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [1542; 9412], числа, которые являютс
Помогите пожалуйста с написанием программы, которая ищет среди целых чисел, принадлежащих числовому отрезку , числа, которые являются...

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , простые числа. Найдите все простые числа, но выведите...

Найти числа имеющие ровно два различных натуральных делителя
Здравствуйте! Готовлюсь к КЕГЭ 2021 и пишу в основном на с++.Т.к все разборы задач на паскале или питоне, то решила обратиться к вам т.к не...

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [321654; 654321]
Здравствуйте, помогите с решением задания, заранее спасибо! Напишите программу, которая ищет среди целых чисел, принадлежащих...

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [28916485;49716586]
Здравствуйте, помогите с решением задачи. Заранее спасибо Условие: Напишите программу, которая ищет среди целых чисел, принадлежащих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru