Напишите функцию которая возвращает количество делителей натурального числа
Перейти к содержимому

Напишите функцию которая возвращает количество делителей натурального числа

  • автор:

Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей

Возникла проблема с заданием, не могу найти ошибку: Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей. С помощью данной функции: для заданного числа А вывести на экран следующее по отношению к нему число, имеющее столько же делителей, сколько и число А. Например, если ввести число 4, то должно вывести 6, но не ничего не выводится

def function(n): i=1 m=0 while i 

Отслеживать
задан 13 мая 2019 в 18:15
17 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для 4 следующее будет 9, т.к. у 6 четыре делителя, а нечётное количество - только у квадратов

Ошибки:
- i нужно было увеличивать в любом случае
- функция должна возвращать результат
- инкремент b+=1,а не b=+1

def function(n): i=1 m=0 while i 

Отслеживать
ответ дан 13 мая 2019 в 18:32
54.1k 3 3 золотых знака 20 20 серебряных знаков 43 43 бронзовых знака

import math def countDividers(n): if n  

Отслеживать
ответ дан 10 апр 2021 в 16:59
159 7 7 бронзовых знаков

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.29.8372

Повторение: функции

Расстоянием от начала координат до точки ( x , y ) является величина ( x 2 + y 2 ) 1/2 .
Напишите функцию double distance(double x, double y) , возвращающую по координатам точки расстояние от этой точки до начала координат.
Напишите программу, которая считывает два целых числа x и y и выводит одно действительное число - расстояние от точки ( x , y ) до начала координат.
Для вычисления квадратного корня следует использовать стандартную функцию double sqrt(double x) .

Пример

1.41421

B: Расстояние по Манхеттену

Расстоянием по Манхеттену от начала координат до точки ( x , y ) называется величина | x |+| y |.
Напишите функцию int manhdistance(int x, int y) , возвращающую по координатам точки расстояние от этой точки до начала координат.
Напишите программу, которая считывает два целых числа x и y и выводит одно действительное число - расстояние по Манхеттену от точки ( x , y ) до начала координат.

Пример

C: Количество делителей числа

В теории чисел количество натуральных делителей натурального числа n (включая 1 и число n ) называется тау-функцией.
Напишите функцию int tau(int n) , возвращающую для данного натурального числа n количество его делителей.
Напишите программу, которая считывает число n и возвращает число делителей числа n . Сложность алгоритма может быть O( n ).

Пример

D: Сумма делителей числа

В теории чисел сумма натуральных делителей натурального числа n (включая 1 и число n ) называется сигма-функцией.
Напишите функцию int sigma(int n) , возвращающую для данного натурального числа n сумму его делителей.
Напишите программу, которая считывает число n и возвращает сумму делителей числа n . Сложность алгоритма может быть O( n ).

Пример

E: Совершенное ли число

Натуральное число n называется совершенным, если сумма его делителей, за исключением самого этого числа, равна этому же числу. Наименьшее совершенно число - 6=1+2+3.
Напишите функцию bool isperfect(int n) , которая возврашает true , если число n является совершенным и false в противном случае. Функция isperfect должна использовать значение, возвращаемое функцией sigma(n) .
Напишите программу, считывающую число n и выводящую на экран слово YES , если число совершенное и слово NO в противном случае.

Пример

F: Первые 4 совершенных числа

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

G: Быстрая тау-функция

Реализуйте алгоритм вычисления тау-функции, имеющий сложность алгоритма O( n 1/2 ). Для этого необходимо перебирать делители числа n до величины n 1/2 , а не до величины n (как в алгоритме проверки числа на простоту).

Пример

H: Быстрая сигма-функция

Реализуйте алгоритм вычисления сигма-функции, имеющий сложность алгоритма O( n 1/2 ). Для этого необходимо перебирать делители числа n до величины n 1/2 , а не до величины n (как в алгоритме проверки числа на простоту).

Напишите функцию number Of Divisors, которая возвращает количество делителей натурального числа

Author24 — интернет-сервис помощи студентам

Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей
И с помощью этой функции для заданного числа A вывести на экран следующее по отношению к нему.

Разработать функцию, которая для заданного натурального числа N возвращает количество его делителей
вывести на экран только те целые числа отрезка , у которых количество делителей равно заданному.

Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей
Разработать функцию, которая для заданного натурального числа N возвращает сумму его делителей. С.

Разработать функцию, которая для заданного натурального числа N возвращает число его делителей
Разработать функцию, которая для заданного натурального числа N возвращает кол-во его делителей. с.

132 / 118 / 29
Регистрация: 09.07.2019
Сообщений: 1,070
Записей в блоге: 4
th0t, есть [PYTHON][/PYTHON]
4941 / 3293 / 1141
Регистрация: 21.03.2016
Сообщений: 8,081

1 2 3 4 5 6
def sumDigRec( n ) : if n == 0: return 0 return sum([1 for i in range(1,n+1) if not n % i]) print(sumDigRec( 10 ))

Регистрация: 11.12.2019
Сообщений: 5
можешь сделать так чтобы число вводилось через int(input
4941 / 3293 / 1141
Регистрация: 21.03.2016
Сообщений: 8,081

ЦитатаСообщение от th0t Посмотреть сообщение

можешь сделать так чтобы число вводилось через int(input
можешь открыть любой учебник и почитать про функции и что такое аргументы
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Напишите функцию, которая принимает число number, и возвращает слово Google с количеством букв o, равным number
Решил попрактиковаться, нашел тренажер. Вроде все работает, но сайт выдает ошибку. Может есть.

Напишите функцию evenOrOdd, которая принимает аргумент number и возвращает ‘ Even’ , и возвращает ‘Odd’
Напишите функцию evenOrOdd, которая принимает аргумент number и возвращает "Even", и возвращает.

Реализовать функцию int function_2 (int number), которая возвращала разрядность натурального числа number
1.Реализовать функцию int function_2 (int number), которая возвращала разрядность натурального.

Разработать метод, который для заданного натурального числа N возвращает количество его делителей
Разработать метод, который для заданного натурального числа N возвращает количество его делителей.

Или воспользуйтесь поиском по форуму:

Как найти делители числа с помощью функции в Python?

Функция для нахождения делителей целого положительного числа:

def get_divisors(number): # Чтобы делители в списке не повторялись, собираем их в множество. result = 1, number> # Перебираем диапазон до number // 2, потому что единственный делитель # больше половины числа - это само число, его мы уже включили в результат. # Чтобы половина тоже вошла в диапазон, добавляем к ней 1. for divisor in range(2, number // 2 + 1): if number % divisor == 0: result.add(divisor) # функция sorted() сортирует делители по возрастанию и возвращает результат в виде списка return sorted(result) get_divisors(1) # [1] get_divisors(2) # [1, 2] get_divisors(11) # [1, 11] get_divisors(33) # [1, 3, 11, 33] get_divisors(64) # [1, 2, 4, 8, 16, 32, 64] 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *