Выяснить, имеются ли в интервале числа-близнецы - Free Pascal

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

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

Дано натуральное число n.Выяснить,имеются ли среди чисел n,n+1,..2n близнецы,т.е простые числа,разность между которыми равна двум.(определить процедуру,позволяющую распозновать простые числа).
Листинг программы
  1. Program 53;
  2. uses crt;
  3. var d:real;p:boolean;
  4. n,l:integer;
  5. procedure pch(a:integer;var b:boolean);
  6. var i:integer;
  7. begin
  8. b:=true;
  9. for i:=2 to (a div 2) do if a mod i=0 then b:=false;
  10. end;
  11. Begin
  12. clrscr;
  13. write('Введите натуральное число '); readln(n);
  14. d:=n;
  15. for l:=n+1 to (2*n) do begin
  16. pch(l,p);
  17. d:=d-l;
  18. if d=2 then if p then writeln(' ',l);
  19. end;
  20. readkey;
  21. End.
Она запускается но при вводе чисел вылетает.Помогите исправить

Решение задачи: «Выяснить, имеются ли в интервале числа-близнецы»

textual
Листинг программы
  1. Program pr53;
  2. uses crt;
  3. procedure pch(a:integer;var b:boolean);
  4. var i:integer;
  5. begin
  6. b:=true;
  7. for i:=2 to (a div 2) do
  8. if a mod i=0 then b:=false;
  9. end;
  10. var p1,p2:boolean;
  11.     n,l,d:integer;
  12. Begin
  13. clrscr;
  14. write('Введите натуральное число ');
  15. readln(n);
  16. d:=0;
  17. for l:=n+1 to (2*n)-2 do
  18.  begin
  19.   pch(l,p1);
  20.   pch(l+2,p2);
  21.   if p1 and p2 then
  22.    begin
  23.     writeln(l,'  ',l+2);
  24.     d:=1;
  25.    end;
  26.  end;
  27. if d=0 then write('Чисел близнецов нет');
  28. readkey;
  29. end.

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

  1. Объявлены процедуры и переменные: — Procedure pch(a: integer; var b: boolean); — var i: integer; — var p1, p2: boolean; — var n, l, d: integer;
  2. В основной программе происходит следующее: — clrscr; — readln(n); — d:=0; — for l:=n+1 to (2*n)-2 do — begin — pch(l,p1); — pch(l+2,p2); — if p1 and p2 then — begin — writeln(l,'  ',l+2); — d:=1; — end; — end; — if d=0 then write('Чисел близнецов нет'); — readkey;
  3. Функция pch проверяет число на четность, начиная с числа n и до (2*n)-2. Если число делится на какое-либо число из этого диапазона без остатка, то оно не является числом-близнецом.
  4. В основной программе после цикла считывается значение переменной d. Если оно равно 0, то выводится сообщение Чисел близнецов нет. Если же значение переменной d равно 1, то выводится сообщение, содержащее два числа-близнеца.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы