Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/121: Рейтинг темы: голосов - 121, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.02.2021
Сообщений: 30
1

Является ли число N совершенным

18.02.2021, 19:20. Показов 22763. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным.

Входные данные
Входная строка содержит натуральное число N .

Выходные данные
Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2021, 19:20
Ответы с готовыми решениями:

Напишите программу perfect, которая определяет, является ли число совершенным
Целое число называется совершенным, если сумма его участков, включая 1 (но не само число), равна...

Натуральное число называется совершенным, если оно равно сумме всех своих делителей, не равных самому числу
Найдите все совершенные числа, меньшие данного натурального числа n. Алгоритмом пожалуйста!

Является ли число совершенным?
Дано натуральное число N (N <= 30000). Проверить является ли оно совершенным. Вывести «Yes» или...

Является ли число совершенным?
Напишите вспомогательную функцию, которая для данного числа n определяет, является ли число...

Является ли число совершенным
Добрый день, туплю, если кому то не лень может помочь нужно проверить все числа до данного...

9
5021 / 3367 / 1155
Регистрация: 21.03.2016
Сообщений: 8,185
18.02.2021, 19:40 2
Ангелина1234, прокрутите страницу ниже. 7 тем только на питоне
0
0 / 0 / 0
Регистрация: 18.02.2021
Сообщений: 30
18.02.2021, 20:47  [ТС] 3
Semen-Semenich, увы там нет ответа на то что меня интересует
0
0 / 0 / 0
Регистрация: 18.02.2021
Сообщений: 3
19.02.2021, 04:17 4
Вроде так, если это то, что Вы искали:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
numb = int(input("Введите целое число: "))
 
 
delitellist = []
 
for i in range(numb - 1, 0, -1):
    if (numb % i == 0):
        delitel = i
        delitellist.append(delitel)
 
sumlist = sum(delitellist)
 
if sumlist == numb:
    print(*delitellist)
else:
    print(0)
0
Модератор
Эксперт Python
2691 / 1597 / 513
Регистрация: 21.02.2017
Сообщений: 4,211
Записей в блоге: 1
19.02.2021, 16:13 5
Python
1
2
3
4
5
n = int(input())
 
dividers = [i for i in range(1, n - 1) if not n % i]
 
print(*dividers if sum(dividers) == n else (0, ))
0
0 / 0 / 0
Регистрация: 18.02.2021
Сообщений: 30
24.02.2021, 20:14  [ТС] 6
ComaIsland,
Является ли число N совершенным

в чем то ошибка
0
Эксперт Python
8583 / 4412 / 1852
Регистрация: 27.03.2020
Сообщений: 7,238
24.02.2021, 20:37 7
Лучший ответ Сообщение было отмечено Ангелина1234 как решение

Решение

Ангелина1234,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
numb = int(input("Введите целое число: "))
 
delitellist = {1}
sumlist = 1
i = 2
while i * i <= numb and sumlist <= numb:
    if (numb % i == 0):
        sumlist += i + (numb//i if i != numb//i else 0)
        delitellist.update({i, numb//i})
    i += 1
 
if sumlist == numb:
    print(*sorted(delitellist))
else:
    print(0)
1
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 40
21.02.2022, 13:23 8
Цитата Сообщение от Gdez Посмотреть сообщение
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
numb = int(input("Введите целое число: "))
delitellist = {1}
sumlist = 1
i = 2
while i * i <= numb and sumlist <= numb:
    if (numb % i == 0):
        sumlist += i + (numb//i if i != numb//i else 0)
        delitellist.update({i, numb//i})
    i += 1
if sumlist == numb:
    print(*

добрый день
а можно комментарий по каждлй строке?

Добавлено через 1 минуту
Цитата Сообщение от Gdez Посмотреть сообщение
numb = int(input("Введите целое число: "))
delitellist = {1}
sumlist = 1
i = 2
while i * i <= numb and sumlist <= numb:
    if (numb % i == 0):
        sumlist += i + (numb//i if i != numb//i else 0)
        delitellist.update({i, numb//i})
    i += 1
if sumlist == numb:
    print(*sorted(delitellist))
else:
    print(0)

а\добрый день

не могли бы Вы прокомментировать каждую строку?
0
Эксперт Python
8583 / 4412 / 1852
Регистрация: 27.03.2020
Сообщений: 7,238
21.02.2022, 14:07 9
Solnyshko_erm,
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
numb = int(input("Введите целое число: "))
 
# множество делителей заданного числа
delitellist = {1}
 
# первый делитель любого натурального числа
sumlist = 1
 
i = 2 # следующий возможный делитель заданного числа
 
# вычислять, пока квадрат делителя не больше заданного числа
# накопительная сумма делителей не больше заданного числа
while i * i <= numb and sumlist <= numb:
 
    # если заданное число делится без остатка на "делитель"
    if (numb % i == 0):
 
        # то к накопительной сумме делителей добавим
        # "делитель" и частное от "число"//"делитель",
        # если они не равны
        # ("делитель" - 6; "число" - 36 -> 6 == 36//6 -> один делитель 6
        # "делитель" - 6; "число" - 42 -> 6 != 42//6 -> два делителя 6, 7
        sumlist += i + (numb//i if i != numb//i else 0)
 
        # в множество делителей добавляем "делитель" и "частное"
        # Если они одинаковы, то в множество "попадет" одно значение
        delitellist.update({i, numb//i})
    
    # увеличиваем "делитель" на 1
    i += 1
 
# если заданное число == сумме делителей
if sumlist == numb:
    print(*sorted(delitellist))
else:
    print(0)
0
0 / 0 / 0
Регистрация: 10.10.2022
Сообщений: 2
10.10.2022, 13:28 10
Python
1
2
3
4
5
6
7
8
9
10
11
n = int(input("Введите число "))
 
a = 0
for i in range(1, n):
    if n % i == 0:
        a += i
    i += 1
if n == a:
    print("является совершенным")
else:
    print("не является совершенным")
0
10.10.2022, 13:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2022, 13:28
Помогаю со студенческими работами здесь

Проверить, является ли число шестизначным и является ли комбинация цифр «счастливой»
Дано число Х. Проверить является ли оно шестизначным и является ли комбинация цифр «счастливой»...

Для целого числа n проверить утверждение, что если число 2n-1 – 1 является простым, то число 2n * (2n+1 – 1) является совершенным.
Для целого числа n проверить утверждение, что если число 2n-1 – 1 является простым, то число 2n *...

Написать функцию, которая определяет, является ли число является совершенным числом
Целое число называется совершенным, если все его делителей (включая 1, но исключая само число) в...

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

Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным
Ряд чисел Фибоначчи задается следующим образом: первые два числа равны 1(F1=F2=1), а каждое...

Является ли число совершенным
Помогите пожалуйста не получается сделать. Определение: число явл совершенным если оно равно сумме...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru