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

Количество и сумма всех натуральных делителей натурального числа n

13.07.2023, 19:34. Показов 1536. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Числовые функции

Количество всех натуральных делителей натурального числа n обозначается σ0(n). Сумма всех натуральных делителей числа n обозначается σ1(n).

Входные данные

Дано натуральное n≤109.

Выходные данные

Выведите σ0(n) и σ1(n)
.

Примечание

Данную задачу рекомендуется решать путём перебора всех делителей числа до квадратного корня из n. Прошу ооочень помощи.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.07.2023, 19:34
Ответы с готовыми решениями:

Количество всех натуральных делителей натурального числа
Условие задачи: Числовые функции Количество всех натуральных делителей натурального числа n обозначается σ0(n). Сумма всех натуральных...

Количество и сумма всех натуральных делителей натурального числа
Количество всех натуральных делителей натурального числа n обозначается σ0(n). Сумма всех натуральных делителей числа n обозначается σ1(n)....

Определить количество и сумму всех натуральных делителей натурального числа
Количество всех натуральных делителей натурального числа n обозначается σ0(n). Сумма всех натуральных делителей числа n обозначается σ1(n)....

6
Вирусоборец
 Аватар для thyrex
14445 / 7486 / 1580
Регистрация: 06.09.2009
Сообщений: 27,129
13.07.2023, 22:03
Python
1
2
3
4
5
6
7
8
n = int(input())
s = n+1
k = 2
for i in range(2, int(n**0.5)+1):
    if n%i == 0:
        s += i
        k += 1
print(k, n)
0
0 / 0 / 0
Регистрация: 12.07.2023
Сообщений: 23
15.07.2023, 15:22  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def R0(n):
   i = 2; t=1
   while i*i<=n:
       k=0
       while n%i==0:
           k+=1; n=n//i
       if k>0:
           t*=(k+1)
       i+=1
   if n>1: t*=2
   return t
def R1(n):
   i = 1; t=0
   while i*i<=n:
       if n%i==0:
           t+=i
           if i*i!=n: t+=(n//i)
       i+=1
   return t
x=int(input())
print(R0(x),R1(x))
0
Вирусоборец
 Аватар для thyrex
14445 / 7486 / 1580
Регистрация: 06.09.2009
Сообщений: 27,129
15.07.2023, 16:08
Лучший ответ Сообщение было отмечено Ingalsar как решение

Решение

Цитата Сообщение от Ingalsar Посмотреть сообщение
Данную задачу рекомендуется решать путём перебора всех делителей числа до квадратного корня из n
ну а Вы или Ваш сын нашли где-то вариант с использованием основной теоремы арифметики
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
15.07.2023, 16:34
Python
1
2
3
4
5
6
7
8
9
10
11
12
from math import isqrt
def divisors(n):
    res = set()
    for i in range(1, isqrt(n)+1):
        if n % i == 0:
            res.add(i)
            res.add(n//i)
    return res
 
n = int(input('n = '))
d = divisors(n)
print(len(d), sum(d))
0
Вирусоборец
 Аватар для thyrex
14445 / 7486 / 1580
Регистрация: 06.09.2009
Сообщений: 27,129
15.07.2023, 18:02
Печально, но в своем предыдущем решении потерял часть делителей

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def R0(n):
    res = 0
    for i in range(1, int(n**0.5)+1):
        if n%i == 0:
            res += 1
            if i*i != n:
                res += 1
    return res
 
def R1(n):
    res = 0
    for i in range(1, int(n**0.5)+1):
        if n%i == 0:
            res += i
            if i*i != n:
                res += n//i
    return res
 
n = int(input())
print(R0(n), R1(n))
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
15.07.2023, 20:34
Ну или так:

Python
1
2
3
4
5
6
7
8
9
10
from math import isqrt
def divisors(n):
    for i in range(1, isqrt(n)+1):
        if n % i == 0:
            yield i
            if (k := n//i) != i:
                yield k
n = int(input('n = '))
d = list(divisors(n))
print(len(d), sum(d))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.07.2023, 20:34
Помогаю со студенческими работами здесь

Составить программу, которая вычисляет количество S всех делителей и сумму Y всех делителей натурального числа N
1. Дано натуральное число N (N&lt;104). Составить программу, которая вычисляет количество S всех делителей и сумму Y всех делителей...

Количество натуральных делителей данного натурального числа
Здравствуйте! Собственно требуется найти количество натуральных делителей заданного натурального числа при помощи рекусрии. Без нее...

Найти количество и сумму всех натуральных делителей числа
Числовые функции Количество всех натуральных делителей натурального числа n обозначается σ0(n). Сумма всех натуральных делителей числа n...

Сумма делителей натурального числа
Эта программа находит сумму всех делителей натурального числа за исключением самого числа. REM REM СУММА ВСЕХ ДЕЛИТЕЛЕЙ ЧИСЛА N...

Сумма делителей данного натурального числа
Задание: Написать подпрограмму, которая вычисляет сумму делителей данного натурального числа Добавлено через 1 час 26 минут 24...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru