Выяснить, имеются ли в интервале числа-близнецы - 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, то выводится сообщение, содержащее два числа-близнеца.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д