Как называется число, равное сумме всех своих собственных делителей?
И вот 4 варианта ответа: A — Прямоугольное, B — Совершенное, C — Простое, D — Избыточное. Для ответа на этот вопрос Вы можете использовать подсказку помощь зала. Подумайте. Какой правильный ответ?
Ведущий игры «Миллионер»
Рассказать друзьям
Уже догадались и хотите сверить ответы? Тогда пролистните страницу чуть ниже. Там скрыт правильный ответ.
Ответ
Только один вариант верный. Ведущий предложил 4 варианта: «Избыточное», «Прямоугольное», «Простое», «Совершенное». Я не буду использовать подсказку. И выбираю ответ: «Совершенное».
Проверить, является ли заданное натуральное число совершенным
Формулировка. Дано натуральное число. Проверить, является ли оно совершенным.
Примечание: совершенным числом называется натуральное число, равное сумме всех своих собственных делителей (то есть натуральных делителей, отличных от самого числа). Например, 6 – совершенное число, оно имеет три собственных делителя: 1, 2, 3, и их сумма равна 1 + 2 + 3 = 6.
Решение. Эта задача напоминает задачу 17, в которой нужно было найти количество всех натуральных делителей заданного числа. Напомним код ее основной части (назовем его кодом 1):
for i := 1 to n do begin
if n mod i = 0 then inc(count)
Как видно, в этом цикле проверяется делимость числа n на все числа от 1 до n, причем при каждом выполнении условия делимости увеличивается на 1 значение счетчика count с помощью функции inc. Чтобы переделать этот код под текущую задачу, нужно вместо инкрементации (увеличения значения) переменной-счетчика прибавлять числовые значения самих делителей к некоторой переменной для хранения суммы (обычно ее мнемонически называют sum, что в пер. с англ. означает «сумма»). В связи с этим оператор
if n mod i = 0 then inc(count);
в коде 1 теперь уже будет выглядеть так:
if n mod i = 0 then sum := sum + i;
Кроме того, чтобы не учитывалось само число n при суммировании его делителей (насколько мы помним, этот делитель не учитывается в рамках определения совершенного числа), цикл должен продолжаться не до n, а до n – 1. Правда, если говорить точнее, то цикл следовало бы проводить до n div 2 (также это обсуждалось в задаче 15), так как любое число n не может иметь больших делителей, иначе частное от деления должно быть несуществующим натуральным число между 1 и 2.
Единственное, что останется теперь сделать – это вывести ответ, сравнив число n с суммой его делителей sum как результат булевского выражения через writeln:
Код:
- program PerfectNumbers;
- var
- i, n, sum: word;
- begin
- readln(n);
- sum := 0;
- for i := 1 to n div 2 do begin
- if n mod i = 0 then sum := sum + i
- end;
- writeln(n = sum)
- end.
База-ответов
Ответы на вопросы различных тематик и направлений!
Добавляйте свои ответы в помощь другим!
С нами вам не страшна никакая викторина!

Вопрос: Как называется число, равное сумме своих собственных делителей?
Ответ: Совершенное
Похожие вопросы:
Вопрос: Число является совершенным, если оно равно сумме всех своих делителей, отличных от самого числа. Назовите самое маленькое совершенное число.
Ответ: шесть
Вопрос: Математическое иррациональное число, равное 3,14159
Ответ: пи
Вопрос: Число, равное отношению длины окружности к длине ее диаметра (3,14. )
Ответ: пи
Вопрос: Как в карточных играх называется ставка, равная сумме, поставленной игроком-банкометом?
Ответ: ва-банк
Вопрос: Проверка самого себя, собственных сил, своей работы, своих знаний
Ответ: самопроверка
Большая база ответов на различные вопросы викторин, интеллектуальных игр и других вопросов.
Если вы участвуете в викторине, где необходимо ответить на вопрос за короткий промежуток времени, то этот сайт для Вас! Быстрый поиск на сайте поможет вам в этом.
Все ответы на вопросы прошли тщательную проверку на истинность. Случай ошибки крайне маловероятен, но всё же, если вы обнаружили неправильный ответ или повторяющийся вопрос, нажмите кнопку «пожаловаться» рядом с неверным ответом. Будет подана заявка на дополнительную проверку и ответ будет исправлен. Оставить отзыв
Рейтинг пользователей:
рейтинг пользователей наиболее активно пополняющих базу данных ответов
- Radius — 8826 вопросов
- Inna_Klim — 4123 вопроса
- Romzu — 2149 вопросов
Является ли число N совершенным
Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным.
Входные данные
Входная строка содержит натуральное число N .
Выходные данные
Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Напишите программу perfect, которая определяет, является ли число совершенным
Целое число называется совершенным, если сумма его участков, включая 1 (но не само число), равна.

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

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

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

Является ли число совершенным
Добрый день, туплю, если кому то не лень может помочь нужно проверить все числа до данного.
4464 / 3216 / 1126
Регистрация: 21.03.2016
Сообщений: 7,956
Ангелина1234, прокрутите страницу ниже. 7 тем только на питоне
Регистрация: 18.02.2021
Сообщений: 30
Semen-Semenich, увы там нет ответа на то что меня интересует
Регистрация: 18.02.2021
Сообщений: 3
Вроде так, если это то, что Вы искали:
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)
![]()
2683 / 1589 / 512
Регистрация: 21.02.2017
Сообщений: 4,205
Записей в блоге: 1
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, ))
Регистрация: 18.02.2021
Сообщений: 30
ComaIsland,
в чем то ошибка
![]()
7541 / 4110 / 1798
Регистрация: 27.03.2020
Сообщений: 6,933

Сообщение было отмечено Ангелина1234 как решение
Решение
Ангелина1234,
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)
Регистрация: 13.01.2016
Сообщений: 40
Сообщение от Gdez 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
numb = int(input(«Введите целое число: «))
delitellist =
sumlist = 1
i = 2
while i * i if (numb % i == 0):
sumlist += i + (numb//i if i != numb//i else 0)
delitellist.update()
i += 1
if sumlist == numb:
print(*
добрый день
а можно комментарий по каждлй строке?
Добавлено через 1 минуту
Сообщение от Gdez 
numb = int(input(«Введите целое число: «))
delitellist =
sumlist = 1
i = 2
while i * i if (numb % i == 0):
sumlist += i + (numb//i if i != numb//i else 0)
delitellist.update()
i += 1
if sumlist == numb:
print(*sorted(delitellist))
else:
print(0)
не могли бы Вы прокомментировать каждую строку?
![]()
7541 / 4110 / 1798
Регистрация: 27.03.2020
Сообщений: 6,933
Solnyshko_erm,
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)
Регистрация: 10.10.2022
Сообщений: 2
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("не является совершенным")
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

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

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

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