помогите решить задачу...
Дано натуральное число n. Выяснить, есть ли среди чисел n, n+1, 2n близнеци, т.е. простые числа, разница между которыми равняется двум. Опредилить процедуру, которая разрешает различать простые числа.
Организация подпрограм. Простые числа (Pascal)
http://forum.developing.ru/showthread.php?p=34426
А дальше - цикл от n до 2n-2: если n и n+2 - простые, вернуть да, если нет - вернуть нет.
А дальше - цикл от n до 2n-2: если n и n+2 - простые, вернуть да, если нет - вернуть нет.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
К сожалению, нужно чтобы простые числа определяла не функция, а процедура...Хыиуду писал(а):http://forum.developing.ru/showthread.php?p=34426
А дальше - цикл от n до 2n-2: если n и n+2 - простые, вернуть да, если нет - вернуть нет.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Да... Кто же интересно тебе такое условие поставил?К сожалению, нужно чтобы простые числа определяла не функция, а процедура...
Тебе советуют как лучше, потому что функция, в отличии от процедуры, всегда имеет результативное значение, а в данном случае - true если число простое, иначе false...
Код: Выделить всё
uses crt;
var result: boolean;
procedure simple(x:longint);
var i:longint;
begin
for i:=2 to x div 2 do
if x mod i=0 then begin
result:=false;exit; end;
result:=true;
end;
begin
clrscr;
simple(5);
if result then write('Простое') else write('Не простое!');
readkey;
end.
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Ох... ну можно еще упаковку сделать для этой функции, чтобы она стала процедурой. Вообще Паскаль, по-моему - один из редких современных языков, где функция и процедура - это разные вещи. Во всех остальных есть только функции, которые иногда могут возвращать пустое значение.
Ну да ладно, вот тебе упаковка:
procedure issimpleproc(x:integer; var res:boolean);
begin res:=issimple(x); end;
Ну да ладно, вот тебе упаковка:
procedure issimpleproc(x:integer; var res:boolean);
begin res:=issimple(x); end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.