Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 03.06.2020
Сообщений: 21

Даны натуральные числа a, b (a ≤ b). Получить все простые числа p, удовлетворяющие неравенствам b ≥ p ≥ a

25.11.2021, 07:18. Показов 1003. Ответов 5

Студворк — интернет-сервис помощи студентам
Даны натуральные числа a, b (a ≤ b). Получить все простые числа p, удовлетворяющие неравенствам b ≥ p ≥ a. Составить программу на языке Паскаль.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2021, 07:18
Ответы с готовыми решениями:

Получить все простые числа Р, удовлетворяющие неравенствам A<=P<=B
Даны натуральные числа А и В . Получить все простые числа Р, удовлетворяющие неравенствам A&lt;=P&lt;=B

Даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам: a<=p<=b
Даны натуральные числа a,b(a&lt;b). Получить все простые числа p, удовлетворяющие неравенствам: a&lt;=p&lt;=b.

Даны натуральные числа a и b (a<b). Получить все простые числа p, удовлетворяющие неравенствам a<=p<=b
Даны натуральные числа a и b (a&lt;b). Получить все простые числа p, удовлетворяющие неравенствам a&lt;=p&lt;=b.

5
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
25.11.2021, 09:32
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
type
  tPrim = ^pPrim;
  pPrim = record n:Integer;x:tPrim;end;
 
function newPrim(n:Integer):tPrim;
var p:tPrim;
begin
  New(p);p^.n:=n;p^.x:=nil;Result:=p;
end;
  
procedure allPrims(a,b:Integer);
var n,q:Integer;p,l,t:tPrim;d:Boolean;
begin
  p:=newPrim(2);l:=p;
  n:=3;q:=Trunc(Sqrt(b));while n<=b do
  begin
    t:=p;d:=False;repeat d:=n mod t^.n=0;t:=t^.x;until d or(t=nil)or(t^.n>q);
    if not d then begin l^.x:=newPrim(n);l:=l^.x;end;
    inc(n,2);
  end;
  t:=p;while t<>nil do begin if t^.n>=a then Write(#32,t^.n);t:=t^.x;end;
end;
 
var a,b:integer;
begin
  Read(a,b);
  allPrims(a,b);
end.
1
0 / 0 / 0
Регистрация: 03.06.2020
Сообщений: 21
25.11.2021, 14:19  [ТС]
Спасибо, конечно, но для меня это ещё не понятно, я только начал изучать массивы, и это не мой уровень кода.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
25.11.2021, 17:56
Основная идея:
Pascal
1
2
3
4
  for p:=a to b do begin
    { проверяем p на простоту }
    { если p простое, выводим }
  end;
Добавлено через 1 минуту
Got23,
Предложите, как будем проверять на простоту, используя ваш уровень кода.
0
0 / 0 / 0
Регистрация: 03.06.2020
Сообщений: 21
26.11.2021, 01:58  [ТС]
Ну я пытался сделать как-то так. Много чего нагородил, нифига не работает.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var 
  a,b,i, l, h: integer;
  j: boolean;
  p: array  of integer;
begin
  write('Ввeдите a b');
  try
    readln(a,b);
  except
    write('Неверные данные');
    exit;    
  end;
  if a>b
  then
    begin
    write('Неверные данные');
    exit;
    end;   
  i:=a;
  j:=true;
  h:=0;
  p:=  new integer[10];
  for i:=a to b do 
    begin
    j:=true; 
    for l:=2 to trunc(sqrt(i))
     do
       begin
       if (i mod l = 0) and (i<>l) then
       begin
         j:= false;
         break
       end;
       end;
   if (j= true) and (i<>1) then 
     begin
     
     p:=Arr(i);
     h:=h+1;
   end;
       
       end;    
write(p)  
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
26.11.2021, 11:04
Проверка на простоту в строках 25-44.
Можно сразу заметить, что если число четное, оно сразу разделится на 2, а если нечетное, то пробовать делить его на четные числа незачем.
Непонятно зачем вот это "and (i<>1)", ведь, если счетчик цикла for и доступен по завершении по Break, то он точно не может быть 1, ведь "for i:=2 to" говорит о том, что начинается с 2 и увеличивается.
Попробуем переписать:
Pascal
1
2
3
4
5
6
7
8
var a, b, i, j, k, p: Integer;
. . .
  for p:=a to b do
    if Odd(p) then begin
      j:=3; k:=Trunc(SqRt(p));
      while (j<=k) and (p mod j<>0) do Inc(j,2);
      if j>k then Write(' ',p);
    end;
Добавлено через 4 минуты
Фрагмент
Pascal
3
4
for p:=a to b do
  if Odd(p) then
тоже заслуживает внимания. Достаточно обеспечить нечетное a и проверка на четность станет не нужна
Pascal
3
4
5
6
7
8
9
  p:=a or 1;
  while p<=b do begin
    j:=3; k:=Trunc(SqRt(p));
    while (j<=k) and (p mod j<>0) do Inc(j,2);
    if j>k then Write(' ',p);
    Inc(i,2);
  end;
Добавлено через 27 минут
Теперь про ввод. Если недостаточно обычного:
Pascal
1
  Write('a b (a>0, a<=b): '); ReadLn(a,b);
или даже
Pascal
1
2
3
4
5
repeat
  Write('a b (a>0, a<=b): '); ReadLn(a,b);
  if (a>0) and (a<b) then Break;
  WriteLn('*** Ошибка: неверные данные');
until False;
и хочется удержать ввод и при ошибках:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var s: String;
. . .
  {a:=0; b:=0;}
  repeat
    Write('a b (a>0, a<=b): ');
    try
      ReadLn(a,b);
    except
      ReadLn(s);
    end;
    if (a>0) and (a<b) then Break;
    WriteLn('*** Ошибка: неверные данные');
  until False;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2021, 11:04
Помогаю со студенческими работами здесь

Получить все простые числа p, удовлетворяющие неравенствам
Даны натуральные числа a, b (a&lt;=b). Получить все простые числа p, удовлетворяющие неравенствам a&lt;= p &lt;= b. создав и использовать в...

даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам a<p<b.
Нужно срочно решить задачку: даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам a&lt;p&lt;b.

Даны натуральные числа a,b(a<= Ь). Получить все простые числа р, удовлетворяющие неравенствам a<= р<= b.
Даны натуральные числа a,b(a&lt;= Ь). Получить все простые числа р, удовлетворяющие неравенствам a&lt;= р&lt;= b. Решите на С++. Буду очень...

Получить все простые числа p, удовлетворяющие неравенствам
Даны натуральные числа a,b. Получить все простые числа p, удовлетворяющие неравенствам a&lt;p&lt;b.

Получить все простые числа, удовлетворяющие неравенствам
Господа, знаю что была эта задача на других языках, но мне нужна именно на mathematica. Помогите если не сложно. Даны натуральные числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru