Задать вопрос
Сегодня, 07:38

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

+3
Ответы (1)
  1. Сегодня, 11:16
    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 и второе все простые делители того же числа. Вывести на экран делители ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы