Разработать функцию, которая для заданного натурального числа 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, которая возвращает количество делителей натурального числа
Разработать функцию, которая для заданного натурального числа 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]