Задать вопрос
13 февраля, 09:50

Проверить являются ли два введенных числа дружественными. Дружественные числа - пара чисел, каждое из которых равно сумме собственных делителей другого (Делителем числа называется всякий его делитель, отличный от самого числа)

Дружественные числа были открыты последователями Пифагора, которые, однако, знали только одну пару дружественных чисел - 220 и 284.

Список делителей для 220: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 и 110, сумма делителей равна 284.

Список делителей для 284: 1, 2, 4, 71 и 142, сумма делителей равна 220.

Требуется написать программу, которая проверяет числа и выводит сообщение "числа дружественные" или "числа не дружественные"

Программа должна:

Прочитать из исходного файла task2. in два целых числа n, m

Определить и вывести в файл task2. оut текст "числа дружественные" или "числа не дружественные"

+4
Ответы (1)
  1. 13 февраля, 11:19
    0
    var n, m: integer;

    f1, f2: text;

    function sd (a:integer) : integer;

    var s, i:integer;

    begin

    s:=1;

    for i:=2 to a div 2 do

    if a mod i=0 then s:=s+i;

    sd:=s;

    end;

    begin

    assign (f1,'task2. in') ;

    reset (f1) ;

    assign (f2,'task2. out') ;

    rewrite (f2) ;

    readln (f1, n, m) ;

    if (sd (n) = m) and (sd (m) = n)

    then writeln (f2,'числа дружественные')

    else writeln (f2,'числа не дружественные') ;

    close (f1) ;

    close (f2) ;

    end.

    Пример:

    Файл task. in

    220 284

    Файл task. out

    числа дружественные
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Проверить являются ли два введенных числа дружественными. Дружественные числа - пара чисел, каждое из которых равно сумме собственных ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы
Похожие вопросы по информатике
Паскаль ABC Пользователь вводит с клавиатуры два числа. Если сумма чисел больше, либо равна 100, то программа выводит "Разряд выше десятков", если сумма меньше 100, но больше либо равна 10, то программа выводит "Разряд выше единиц", если сумма чисел
Ответы (1)
Написать программу, которая будет выполнять функцию команды dir (просмотр содержимого текущей директории) в операционной системе Microsoft DOS. Данная команда выводит на экран список папок и файлов, которые содержаться в текущем каталоге.
Ответы (1)
В Python С клавиатуры вводится натуральное число. Программа должна вывести следующее за ним четное число. Например, если ввести 7, то программа должна вывести 8, а если ввести 8, то программа должна вывести 10.
Ответы (1)
Напишите программу, которая сортирует массив целых чисел в порядке возрастания (неубывания). Размер массива заранее неизвестен. Исходные данные записаны в файл input. txt, отсортированный массив нужно вывести в файл output. txt.
Ответы (1)
Напишите программу, которая сортирует массив ненулевых целых чисел в порядке возрастания (неубывания). Размер массива заранее неизвестен. Исходные данные записаны в файл input. txt, отсортированный массив нужно вывести в файл output. txt.
Ответы (1)