Вопрос задан 26.07.2018 в 09:23. Предмет Информатика. Спрашивает Билецкий Илья.

Два множества: первое все простые делители некоторого целого числа N и второе все простые делители

того же числа. Вывести на экран делители которые не являются простыми.(Паскаль)
0 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 
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи на Паскале, вы можете использовать следующий код:

```pascal program PrimeDivisors;

function IsPrime(n: Integer): Boolean; var i: Integer; begin if n < 2 then IsPrime := False else begin IsPrime := True; for i := 2 to Trunc(Sqrt(n)) do begin if n mod i = 0 then begin IsPrime := False; Break; end; end; end; end;

procedure PrintNonPrimeDivisors(n: Integer); var i: Integer; begin for i := 2 to n - 1 do begin if (n mod i = 0) and (not IsPrime(i)) then Write(i, ' '); end; end;

var N: Integer; begin Write('Введите число N: '); Readln(N); Write('Делители, которые не являются простыми: '); PrintNonPrimeDivisors(N); end. ```

Эта программа определяет, является ли число простым с помощью функции `IsPrime`. Затем она проходит по всем числам от 2 до `N - 1` и выводит на экран только те делители, которые не являются простыми с помощью процедуры `PrintNonPrimeDivisors`.

Например, если вы введете число `12`, программа выведет на экран следующий результат: `4 6`.

Примечание: Пожалуйста, учтите, что код на Паскале может быть чувствителен к регистру, поэтому убедитесь, что вы используете правильный регистр при вводе кода.

Источники: -(https://www.google.com/search?q=50+-+ABC+Pascal) - ABC Pascal -(https://www.google.com/search?q=-+%D0%BF%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C) - Паскаль -(https://www.google.com/search?q=prime_divisors+Pascal) - prime_divisors Pascal -(https://www.google.com/search?q=MATHEMATICA) - MATHEMATICA -(https://www.google.com/search?q=5) - 5 -(https://www.google.com/search?q=%D0%BF%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C+8) - Паскаль 8 -(https://www.google.com/search?q=%D0%BF%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C) - Паскаль -(https://www.google.com/search?q=Untitled) - Untitled -(https://www.google.com/search?q=%D0%BF%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C+1) - Паскаль 1 -(https://www.google.com/search?q=.+.+.+GitHub) - . . . GitHub

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос