В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Zagonov
Zagonov
25.03.2023 14:57 •  Информатика

ОНЛАЙН МЕКТЕП Для кружка рисования Айжан создала в таблице модель расчета покупок. Целью моделирования было выяснить стоимость покупки. Определи диапазон ячеек, которые используют тип данных «Число».​


ОНЛАЙН МЕКТЕП Для кружка рисования Айжан создала в таблице модель расчета покупок. Целью моделирован

Показать ответ
Ответ:
Фидан77714
Фидан77714
06.10.2020 13:07
По определению совершенным числом называется то число, которое равно сумме своих делителей отличных от самого числа. Значит,чтобы решить задачу нам нужно найти сумму делителей числа и проверить равна ли она самому числу.
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.
0,0(0 оценок)
Ответ:
Nomatdicov
Nomatdicov
06.10.2020 13:07
Число считается совершенным, если оно равно сумме своих делителей, исключая себя самого. Для проверки, является ли число 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 Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота