Задать вопрос
5 мая, 22:34

Напишите программу, которая вводит натуральное число N и определяет является ли число N совершенным. Если можно с подробным или кратким объяснением

+3
Ответы (2)
  1. 5 мая, 23:52
    0
    По определению совершенным числом называется то число, которое равно сумме своих делителей отличных от самого числа. Значит, чтобы решить задачу нам нужно найти сумму делителей числа и проверить равна ли она самому числу.

    var

    sum, N, i:integer;

    begin

    readln (N) ; / / читаем число с клавиатуры

    //Проверяем делатели до N-1, т. к. нам нужны делители не равные

    //самому числу

    for i:=1 to N-1 do

    if N mod i = 0 then//Если i является делителем N, то ...

    sum:=sum+i; / / ... прибавляем его к сумме делителей

    / / Проверяем равна ли сумма делителей числа самому числу.

    if sum = N then

    writeln ('Число совершенное')

    else

    writeln ('Число не совершенное') ;

    end.
  2. 6 мая, 02:01
    0
    Число считается совершенным, если оно равно сумме своих делителей, исключая себя самого. Для проверки, является ли число N совершенным, полагаем будущую сумму делителей равной 1 (на единицу число всегда делится) и последовательно делим N на числа, начиная от 2 и заканчивая N/2.

    Если число делится без остатка на очередной делитель, добавляем его к сумме. После завершения цикла делений сравниваем сумму с N и в случае равенства объявляем число N совершенным. В начале алгоритма проверяем, чтобы N было больше 1, в противном случае сразу объявляем число не совершенным.

    var

    i, n, s:longint;

    begin

    Write ('Введите натуральное число: ') ; Read (n) ;

    if n=1 then Writeln ('Число 1 не является совершенным')

    else begin

    s:=1;

    for i:=2 to (n div 2) do

    if (n mod i) = 0 then s:=s+i;

    if s=n then Writeln ('Число является совершенным')

    else Writeln ('Число не является совершенным')

    end

    end.

    Тестовое решение:

    Введите натуральное число: 33550336

    Число является совершенным

    Введите натуральное число: 543252

    Число не является совершенным
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Напишите программу, которая вводит натуральное число N и определяет является ли число N совершенным. Если можно с подробным или кратким ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
1) Напишите программу, которая вводит натуральное число N и нахо дит сумму всех натуральных чисел от 1 до N. Используйте сначала цикл с условием, а потом - цикл с переменной.
Ответы (1)
Напишите программу, которая вводит число N и определяет является ли число N совершенным. Совершенные числа - это те числа, которые равны сумме своих делителей, не включая само число, но включаю единицу
Ответы (1)
Натуральное число M называется совершенным, если оно равно сумме всех своих делителей, включая единицу, но исключая себя, является ли число м совершенным? Напиши программу в паскале циклов while или repeat
Ответы (1)
На языке паскаль абс написать программу (Не глушилку, а нормальную программу) (желательно с помощью Циклов и If-ов) Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая само число.
Ответы (1)
Простые числа - это натуральные числа, которые делятся без остатка только на себя и на единицу: 2, 3, 5, 7, 11 ... 1) Разработайте программу, которая вводит число К и проверяет, является ли оно простым.
Ответы (1)