Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
3 / 2 / 2
Регистрация: 16.11.2020
Сообщений: 17

Найдите все натуральные числа, у которых ровно пять различных нечётных делителей

10.06.2022, 19:11. Показов 3752. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найдите все натуральные числа, принадлежащие отрезку [45 000 000; 50 000 000], у которых ровно пять различных нечётных делителей (количество чётных делителей может быть любым). В ответе перечислите найденные числа в порядке возрастания. Чисел не более 10
Python
1
2
3
4
5
6
7
8
9
10
11
12
for i in range(45000000,50000001):
    co=1
    if i%2==1:
        co+=1
    for j in range(3,round(i**0.5)+1,2):
        if i%j==0:
            co+=1
            if co>7:
                break
    if co==5:
        a+=[i]
print(a)
Запихивает в список почти всё без разбору. Прошу объяснить что я сделал не так, что стало так закидывать. И вдруг у кого то найдется решение проще. Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.06.2022, 19:11
Ответы с готовыми решениями:

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

Найти числа на отрезке, у которых ровно 5 различных нечетных делителей
Добрый день, пытаюсь решить задачу, но она выполняется слишком долго. Условие: Найдите все натуральные числа, принадлежащие отрезку...

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

2
5 / 4 / 2
Регистрация: 21.10.2021
Сообщений: 132
10.06.2022, 19:41
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
a=45000000
b=50000000
 
for i in range(a, b + 1):
    if i % 2 != 0:
        k = 2
    else:
        k = 1
    d = 2
    while d * d < i:
        if i % d == 0:
            if d % 2 != 0:
                k += 1
            if (i//d) % 2 != 0:
                k += 1
        if k > 5:
            break
        d += 1
    if d * d == i and d % 2 != 0:
        k += 1
    if k == 5:
        print(i)
Вообще такое задание решать на питоне таким способом не очень хорошо (всё-таки не Pascal)
проще написать функцию:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a=45000000
b=50000000
 
def isprime(n):
    d = 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1
    return True
for i in range(a, b + 1):
    a = i
    while a % 2 == 0:
        a = a // 2
    if (a ** 0.25) == int(a ** 0.25):
        if isprime(a ** 0.25):
            print(i)

Не по теме:

А вообще на будущее для таких целей, лучше базовый синтаксис Pascal'я выучить он тебе и простым перебором справиться

0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
10.06.2022, 23:14
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
38
39
40
def primes(n) :
    res = []
    prime = [True] * (n+1)
    for i in range(3, n + 1, 2) :
        if not prime[i]:
            continue
        res.append(i**4)
        for j in range(i * i, n+1, i):
            prime[j] = False
    return res
    
 
pr = primes(int(50000000**.25)+1)
 
res = []
for num in pr:
    while num < 45000000:
        num <<= 1
    if num < 50000001:
        res.append(num)
 
print(*sorted(res), sep='\n')
print()
 
 
print('проверка')
for num in sorted(res):
    print('все делители числа', num)
    """
    while not num%2:
        num >>= 1
    """
    d = 2
    tmp = {1,num}
    while d*d < num+1:
        if not num%d:
            tmp.update({d,num//d})
        d += 1
    print(*sorted(tmp), sep='\n')
    print()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2022, 23:14
Помогаю со студенческими работами здесь

Числа, у которых ровно пять различных нечётных делителей
Найдите все натуральные числа, принадлежащие отрезку , у которых ровно пять различных нечётных делителей (количество чётных делителей может...

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

Найдите все числа, принадлежащие отрезку [a; b], имеющие ровно 6 различных делителей
Даны два натуральных числа a и b. Найдите все числа, принадлежащие отрезку , имеющие ровно 6 различных делителей. Выведите эти делители для...

Найдите все числа, принадлежащие отрезку [a; b], имеющие ровно 5 различных делителей
Всем доброго времени суток, прошу помочь с решением данной задачи. Заранее огромное спасибо! Даны два натуральных числа a и b. Найдите...

Найдите все числа, принадлежащие отрезку [a; b], имеющие ровно 6 различных делителей
Даны два натуральных числа a и b. Найдите все числа, принадлежащие отрезку , имеющие ровно 6 различных делителей. Выведите эти делители для...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru