Представьте четное число n (2 пример ввода: 110 вывод: 7+103 составьте паскаль программы нужно

a06b07c2005 a06b07c2005    2   11.06.2019 14:40    0

Ответы
Bublick08 Bublick08  09.07.2020 14:21
Function IsPrime(m: integer): boolean;
var
  i: integer;
  p: boolean;
begin
  p := true;
  for i := 2 to m - 1 do
    if (m mod i) = 0 then p := false;
  IsPrime := p
end;

var
  n, i, j: integer;
  flag: boolean;

begin
  repeat
    Write('Введите натуральное число, большее 2 :');
    Readln(n);
    flag := (n < 2) or (n mod 2 = 1);
    if flag then
      Writeln('Число введено с нарушением, повторите ввод');
  until not flag;
  Writeln('Варианты представления числа в виде суммы двух простых:');
  for i := 1 to n do
    for j := 1 to (n div 2) do
      if (IsPrime(i) and IsPrime(j)) and (i + j = n) then writeln(i, '+', j);
end.

Тестовое решение:

Введите натуральное число, большее 2: 110
Варианты представления числа в виде суммы двух простых:
67+43
73+37
79+31
97+13
103+7
107+3
109+1
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика