Python Формат входных данных Три целых числа x1, x2, x3, по модулю не превышающие 10^4 — координаты начала и конца вектора соответственно. Формат выходных данных Одно число — длина заданного вектора с точностью до шестого знака после запятой.
По определению совершенным числом называется то число, которое равно сумме своих делителей отличных от самого числа. Значит,чтобы решить задачу нам нужно найти сумму делителей числа и проверить равна ли она самому числу. 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.
Число считается совершенным, если оно равно сумме своих делителей, исключая себя самого. Для проверки, является ли число 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 Число не является совершенным
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку