IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Простые числа, Близнецы
сообщение
Сообщение #1


Гость






Дано натуральное число n. Выяснить, имеются ли среди n,n+1,...,2n близнецы, т.е. простые числа, разность между которыми равна нулю.
Не могу понять, что значит близнецы и как разность между ними может быть нулевой.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Упс, сглупил. unsure.gif
Разность равна не 0, а 2.

Код

program Gemini;
uses Crt;
var nn, nk, np, k, counter_gemini : Integer;
function Simple_Number(Sm:Integer): Boolean; {функция проверки: Sm - простое?}
var x, i : Integer;
begin
  Simple_Number := False;
  x :=  2; I := 1;
  while (x<Sm) and (i=1) do
     begin
        if Sm mod x = 0 then i := 0 else Inc(x);
     end;
  if i=1 then Simple_Number := True; {если флаг равен 1, то Sm - простое}
end; {function}
begin {main}
  ClrScr;
  counter_gemini := 0; {counter_gemini - счетчик чисел-близнецов}
  WriteLn('===================================');
  WriteLn('n? ');
  ReadLn(nn);
  nk := 2*nn;
  np :=  nn;
  Write('Among: ');
  for k := nn to nk do
  Write(k,' ');
  WriteLn;
  repeat
     if (np mod 2)=0 then Inc(np); {если np-непростое, увеличиваем его на 1}
     if Simple_Number(np) {если первое число - простое}
     then
        begin
           Inc(np,2);     {переходим на два числа вперед}
           if Simple_Number(np) then  {если и это число простое}
                 begin
                    WriteLn('twins: ',np-2,' ', np); {вывод близнецов}
                    Inc(counter_gemini);
                 end;
        end
     else Inc(np); {иначе (np-непростое) переходим к следующему числу}
  until np>=nk;
  if counter_gemini=0
  then WriteLn('no twins')
  else WriteLn('num of pairs: ', counter_gemini);
  ReadLn;
end.

Решение не мое.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






mithquessir
И в чем собственно вопрос? blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Уже не в чем. Я сначала не правильно понял условие. unsure.gif
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 14.05.2024 6:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name