Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 18:47   #1
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию Множества. Поиск близнецов.

З множини чисел [1..n] виділити підмножину простих чисел p, таких, що p+2– просте число (пошук “близнят”).
Это условие. Используя инфу на форуме нацарапал следующее:

Код:
program LAB811;
        uses crt;
        const n=255;
        function prost(x:  longint): boolean;
                 var i: integer;
                     begin
                          prost:=false;
                          if x<2 then Exit;
                          if not odd(x) and (x<>2)
                             then exit;
                          i:=3;
                          while i <= sqrt(x) do
                                begin
                                 if x mod i = 0 then Exit;
                                 inc(i,2);
                                 end;
                                 prost:=true;
                          end;
        var i:integer;

        begin
        clrscr;
        for i:=2 to n do
             if prost(i) and prost(i+2) then
                writeln(i,' ');
        end.
Программа работает. Вот только мне это всё нужно сделать используя множества(((
Как это дело прикрутить к множествам?
eduard.80@mail.ru вне форума Ответить с цитированием
Старый 19.12.2011, 19:50   #2
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию

Есть ещё вот такая прога:
Код:
Program prost;
        uses crt;
        Const n = 255;
        Var A,B: set of 2 .. n ;
              i, Min : integer ;
        Begin

             A:=[2 .. n] ;
             B:=[];
             Min := 2;
              While A <> [] do
              begin
                   While not(Min in A) do
                    Min := Min + 1;
                    B :=B + [Min] ;
                   For i := 1 to n div Min do
                    A := A - [i*Min];
              end;
        Writeln('Простые числа*:');
         For i := 1 to n do
         If i in B then write(i,' ');

 End.
Но с ней я не могу разобраться, как вообще действуют эти множества?
Если я пытаюсь сделать так:
Код:
 If i+2 in B then include(C,i)
оно материтсу???(((
eduard.80@mail.ru вне форума Ответить с цитированием
Старый 19.12.2011, 22:48   #3
eduard.80@mail.ru
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 15
По умолчанию

Хоть отзовитесь, что ли...
eduard.80@mail.ru вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот не работает программа для вычисления чисел-близнецов hon Общие вопросы Delphi 10 25.09.2011 16:27
Через множества заданы сорта роз,выращиваемых цветоводами. Ввод множества с клавиатуры,сравнение множеств BAMbarBIO Паскаль, Turbo Pascal, PascalABC.NET 5 31.05.2011 13:17
Множества. Поиск гласных букв. 00884 Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2011 21:34
Задача про близнецов stscolt Помощь студентам 2 21.04.2008 22:52