Гипотеза Гольдбаха - Pascal (83524)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте,попал в очень неприятную ситуацию, понадеялся на человека, а он "не смог". Времени мало, я попытаюсь за ночь хоть что то понять из основ программирования и написать, завтра уже сдавать. если кого не затруднит помогите написать программы на pascal: 3) Гипотеза Гольдбаха. Данное четное число n>2. Проверить для этого числа гипотезу Гольдаха, суть которой заключается в том, что каждое чётное n, больше двух, можно представить в виде суммыдвух простых чисел. Эта гипотеза на сегодняшний день не имеет строгого доказательства. Определить подпрограмму, позволяющее распознавать простые числа

Решение задачи: «Гипотеза Гольдбаха»

textual
Листинг программы
uses crt;
var i,n,k: integer;
 
function IsSimple (x: integer): boolean;
var j,k: integer;
begin
k:=0;
for j:=2 to x div 2 do
    if x mod j=0 then inc(k);
IsSimple:=k=0;
end;
 
begin
repeat
write('n='); readln(n);
until (n>2) and (n mod 2=0);
for i:=1 to n-1 do
    if IsSimple(i) and IsSimple(n-i) then
       begin
       writeln(n,'=',i,'+',n-i);
       inc(k);
       end;
writeln(k>0);
readln;
end.

Объяснение кода листинга программы

  1. Входные данные представлены целочисленной переменной n, которая принимает значения от 2 и выше, при этом является четным числом.
  2. Используется функция IsSimple(x: integer), которая проверяет, является ли число x простым. При этом в функции используется цикл for, который выполняет проверку на делимость числа x на все числа от 2 до корня из x. Если число делится на какое-либо из этих чисел без остатка, то функция увеличивает счетчик k на 1. В конце функция возвращает значение k, которое будет равно 0, если число x является простым, и 1 в противном случае.
  3. В основном блоке программы используется цикл repeat-until, который будет выполняться до тех пор, пока не будет введено число n, большее 2 и при этом четное.
  4. Внутри цикла используется еще один цикл for, который выполняет проверку на простоту для всех чисел от 1 до n-1. Если число является простым и при этом его можно представить в виде суммы двух других простых чисел (с учетом того, что одно из этих чисел будет равно n-i, а второе - i), то выводится соответствующее сообщение, увеличивается счетчик k и выполняется выход из цикла с помощью оператора break.
  5. В конце программы выводится сообщение, информирующее о том, что найдено хотя бы одно представление числа n в виде суммы двух простых чисел.
  6. Ввод данных осуществляется с помощью функции readln(), которая считывает целочисленное значение.
  7. В конце программы выполняется чтение данных с помощью функции readln() для завершения работы программы.

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы