Задать вопрос
13 мая, 22:28

Два множества: первое все простые делители некоторого целого числа N и второе все простые делители того же числа. Вывести на экран делители которые не являются простыми. (Паскаль)

+2
Ответы (1)
  1. 13 мая, 23:48
    0
    Замечание: в старых версиях паскаля вместо integer нужно использовать byte.

    var n, i:integer;

    s1, s2: set of integer;

    function prost (n:integer) : boolean;

    var j, m:integer;

    begin

    m:=0;

    for j:=2 to trunc (sqrt (n)) do

    if n mod j = 0 then inc (m);

    prost:=m=0;

    end;

    begin

    readln (n);

    s1:=[1]; s2:=[];

    for i:=2 to n do

    if n mod i=0 then

    begin

    s1:=s1+[i];

    if prost (i) then s2:=s2+[i];

    end;

    writeln ('Все делители:');

    for i:=1 to n do

    if i in s1 then write (i,' ');

    writeln;

    writeln ('Все простые делители:');

    for i:=1 to n do

    if i in s2 then write (i,' ');

    writeln;

    writeln ('Делители, которые не являются простыми:');

    for i:=1 to n do

    if i in (s1-s2) then write (i,' ');

    end.

    Пример:

    340

    Все делители:

    1 2 4 5 10 17 20 34 68 85 170 340

    Все простые делители:

    2 5 17

    Делители, которые не являются простыми:

    1 4 10 20 34 68 85 170 340
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Два множества: первое все простые делители некоторого целого числа N и второе все простые делители того же числа. Вывести на экран делители ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы