Дано четное число n > 2. Проверить для него гипотезу Гольдбаха - Pascal
Формулировка задачи:
Дано четное число n > 2. Проверить для него гипотезу Гольдбаха, каждое четное n представляется в виде суммы двух простых чисел.
program p7; var n,k:integer; procedure vvod; begin writeln ('vvedite chetnoe chislo, bolshe dvyh: '); readln (n); if n <=2 then writeln ('vvedeno chislo menshe dvyh '); if (n mod 2)<>0 then writeln ('vvedeno nechetnoe chislo! ') end; function proverka (pch:longint):boolean; var i:longint; begin for i:=2 to trunc (sqrt(pch)) do if n mod i=0 then begin proverka:=false; exit; end; proverka:=true; end; begin vvod; for k:=1 to n div 2 do if proverka(k) and proverka(n-k) then writeln (n,'=',k, '+',n-k); readln; end
Решение задачи: «Дано четное число n > 2. Проверить для него гипотезу Гольдбаха»
function prost(x1:integer):boolean; var i:integer; begin prost:=true; for i:=2 to x1-1 do if (x1 mod i)=0 then prost:=false; end; var n,i,j:integer; l:boolean; begin repeat write('Введите натуральное число:'); read(n); if (n<2) or (odd(n)=true)then writeln('Введённое число должно быть чётным и больше двух!'); until (n>2) and (odd(n)=false); for j:=1 to n do begin for i:=1 to n div 2 do begin if (prost(j)=true) and (prost(i)=true) and (i+j=n) then writeln('Число ',n,' является суммой простых чисел ',j,' и ',i); end; end; end.
Объяснение кода листинга программы
В данном коде используется функция prost, которая принимает целое число n в качестве параметра и возвращает логическое значение true, если n является четным, и false в противном случае. Внутри функции используется цикл for, который начинается с i=2 и продолжается до n-1. Если n делится на i без остатка, то функция prost возвращает false, иначе она возвращает true. Затем следует основной код программы, который начинается с повторения до тех пор, пока не будет введено натуральное число больше двух. Затем происходит проверка, является ли введенное число четным и больше двух. Если это условие не выполняется, выводится сообщение с предупреждением. Далее идет цикл for, который начинается с i=1 и продолжается до n/2. Если prost(i) равно true и prost(j) равно true, и i+j равно n, то выводится сообщение о том, что число n является суммой простых чисел i и j. В итоге программа проверяет гипотезу Гольдбаха для всех четных чисел больше двух и выводит результаты соответствующих проверок.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д