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

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

Показать ответ
Ответ:
kolombiachka7800
kolombiachka7800
07.10.2020 04:57
Замечание: в старых версиях паскаля вместо 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 
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота