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

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

22.11.2021, 19:11. Показов 8742. Ответов 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
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
22.11.2021, 19:28
даже набирать не стал. он точно не работает. начните с нахождения простых чисел из диапазона. в список нужно добавлять кортеж из двух делителей. потом отсортировать список по условию
Цитата Сообщение от Haker_228 Посмотреть сообщение
порядке возрастания произведения этих двух делителей
. у вас ни одного этого пункта нет
0
Эксперт Python
8849 / 4501 / 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
8849 / 4501 / 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
8849 / 4501 / 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru