Гипотеза Гольдбаха. Задано четное число n>2. Проверить для этого числа гипотезу Гольдбаха: каждое четное n>2 можно представить в виде суммы
Гипотеза Гольдбаха. Задано четное число n>2. Проверить для этого числа гипотезу Гольдбаха: каждое четное n>2 можно представить в виде суммы двух простых чисел..
Program PascalGuru; uses crt;
var i,j,k,n:integer; f:boolean;
function Prost(a:integer):boolean; {функция проверяет - является ли число "a" простым} var i:integer; f:boolean; begin if a<2 then f:=false else begin f:=true; i:=2; while (i*i<=a) and f do if a mod i=0 then f:=false else i:=i+1; end; Prost:=f; end;
{**************************** сама программа **********************************} begin clrscr; repeat write('Vvedite natural`noe chetnoe chislo:'); readln(n); until(n>3)and(n mod 2=0); {не меньше 4 и число должно чётным} f:=false; j:=2;{первое число } while(j<=n-2) and not f do if Prost(j) then {если простое} begin k:=2; {ищем второе } while(k<=n-j)and not f do if Prost(k)and (k+j=n) then {если и второе простое и сумма=n } begin f:=true; writeln(n,'=',k,'+',n-k); {вывод разложенной суммы} end else k:=k+1; if not f then j:=j+1; end else j:=j+1; if f then write('Gipoteza Gol`dbaha dlia chisla ',n,' verna') {вывод результатов} else write('Gipoteza Gol`dbaha dlia chisla ',n,' ne verna'); readln; end.