Множества в Паскале.
Опишите множество Рr(1..20) и поместите в него все простые числа в диапазоне от а до b.
Если сам что то сделал, выкладывай, исправлю. Если нет, связывайся со мной, поговорим о цене.
Код:
PrAll1_20 := [ 2, 3, 5, 7, 11, 13, 17, 19 ];
затем -- цикл от а до б и проверка попадает ли счётчик (цилка) в это мн-во, если попадает заносим в Pr:
Код:
Pr := []; for i := a to b do if i in PrAll1_20 then Pr := Pr + ;
;)
LM(AL/M), Ваше решение не универсально, но поставленную задачу выполняет. :)
оно не универсально т.к. сама исходная задача не унивесальна. как я понимаю цель задания -- продемонстрировать работу с множествами в паскале, не более
Представьте что задача будет стоять для нескольких тысяч... Или нужно будет вывести только числа кратные N.
Поэтому я считаю что более продвинутым будет следующий код
Код:
const N = 20
Num := (1..N); // Само множетсво
limA, limB : integer; // границы вычислений
begin
limit := sqrt(N); // исходя из критерия простоты числа вычисляем границу
Readln(limA, limB); // Устанавливаем значение границ
for i = 2 to limit do
if( (Num mod i) = 0 and Num < limB and Num > limA ) // Если число делится без остатка на 1 и на само себя, оно просто, и если оно попадает в промежуток от А до И, выводим его на экран и переходим к следующей итериции цикла
begin
write(Num, " | ");
Continue;
end;
end.
Num := (1..N); // Само множетсво
limA, limB : integer; // границы вычислений
begin
limit := sqrt(N); // исходя из критерия простоты числа вычисляем границу
Readln(limA, limB); // Устанавливаем значение границ
for i = 2 to limit do
if( (Num mod i) = 0 and Num < limB and Num > limA ) // Если число делится без остатка на 1 и на само себя, оно просто, и если оно попадает в промежуток от А до И, выводим его на экран и переходим к следующей итериции цикла
begin
write(Num, " | ");
Continue;
end;
end.
Меняйте число N с 20 на 100 и получайте на выходе все простые числа до 100, на 200 - до 200-ста и т.д.
Но здесь я немного упростил задачу, применив вместо решета критерий простоты числа. До пары десятков тысяч будет нормально, имхо :)
в паскале множество ограничено кол-вом элементов 256