Выяснить, имеются ли в интервале числа-близнецы - Free Pascal
Формулировка задачи:
Дано натуральное число n.Выяснить,имеются ли среди чисел n,n+1,..2n близнецы,т.е простые числа,разность между которыми равна двум.(определить процедуру,позволяющую распозновать простые числа).
Она запускается но при вводе чисел вылетает.Помогите исправить
Листинг программы
- Program 53;
- uses crt;
- var d:real;p:boolean;
- n,l:integer;
- procedure pch(a:integer;var b:boolean);
- var i:integer;
- begin
- b:=true;
- for i:=2 to (a div 2) do if a mod i=0 then b:=false;
- end;
- Begin
- clrscr;
- write('Введите натуральное число '); readln(n);
- d:=n;
- for l:=n+1 to (2*n) do begin
- pch(l,p);
- d:=d-l;
- if d=2 then if p then writeln(' ',l);
- end;
- readkey;
- End.
Решение задачи: «Выяснить, имеются ли в интервале числа-близнецы»
textual
Листинг программы
- Program pr53;
- uses crt;
- procedure pch(a:integer;var b:boolean);
- var i:integer;
- begin
- b:=true;
- for i:=2 to (a div 2) do
- if a mod i=0 then b:=false;
- end;
- var p1,p2:boolean;
- n,l,d:integer;
- Begin
- clrscr;
- write('Введите натуральное число ');
- 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;
- end.
Объяснение кода листинга программы
- Объявлены процедуры и переменные: — Procedure pch(a: integer; var b: boolean); — var i: integer; — var p1, p2: boolean; — var n, l, d: integer;
- В основной программе происходит следующее: — 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;
- Функция pch проверяет число на четность, начиная с числа n и до (2*n)-2. Если число делится на какое-либо число из этого диапазона без остатка, то оно не является числом-близнецом.
- В основной программе после цикла считывается значение переменной d. Если оно равно 0, то выводится сообщение
Чисел близнецов нет
. Если же значение переменной d равно 1, то выводится сообщение, содержащее два числа-близнеца.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д