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

Ответы 1

  • Замечание: в старых версиях паскаля вместо integer нужно использовать byte.var n,i:integer;s1, s2: set of integer;function prost(n:integer):boolean;var j,m:integer;beginm:=0;for j:=2 to trunc(sqrt(n)) do if n mod j = 0 then inc(m);prost:=m=0;end;beginreadln(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 
    • Автор:

      teeny
    • 4 года назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years