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
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку