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

Простые числа в интервале

08.09.2016, 13:04. Показов 9531. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program prost_02;
var a, b, ch, del, kd, k: integer;
{a, b - границы интервала чисел;
ch - проверяемые числа;
del - делители;
kd - количество делителей;
k - количество простых чисел}
begin 
write('a='); readln(a);
write('b='); readln(b); 
 
for ch:=a to b do
begin
kd:=0;
k:=0;
for del:=1 to ch do
if ch mod del=0 then inc(kd);
If kd=2 then inc(k);
if k<5 then write(ch:3);
end;
end.
Укажите ошибку,пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.09.2016, 13:04
Ответы с готовыми решениями:

Программа находит все простые числа на интервале [n,m]
Program P2; var n, m, i, j: longint; r, f : boolean; Begin Repeat Write ('Введите число n'); Readln (n); Write ('Введите число...

Дан интервал натуральных чисел от N до M Определить все простые числа в этом интервале
Здравствуйте, помогите, пожалуйста, написать программы на данные задания и блок-схемы 3. Дан интервал натуральных чисел от N до M....

Дан интервал натуральных чисел от N до М. Определить все простые числа в этом интервале
4) Дан интервал натуральных чисел от N до М. Определить все простые числа в этом интервале.

10
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.09.2016, 13:21
Цитата Сообщение от мирам Посмотреть сообщение
if k<5
Это что и зачем?
0
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 70
08.09.2016, 13:22  [ТС]
Забыл уточнить. Первые 5 простых
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.09.2016, 13:55
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Во первых очень не оптимальный поиск простых при котором к к тому же 1 будет простым, хотя это и не так.
Кроме того неверно организован цикл.
Попробуйте так.
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
function prost(x:integer):boolean;
var  y:integer;
     f:boolean;
begin
if x<2 then f:=false{0,1 не простое}
else if x=2 then f:=true{2 простое}
else if x mod 2=0 then f:=false{четные больше 2 не простые}
else
 begin
  f:=true;
  y:=3;
  while(y*y<=x)and f do
  if x mod y=0 then f:=false
  else inc(y,2);
 end;
prost:=f
end;
 
var a, b, ch, k: integer;
begin
write('a='); readln(a);
write('b='); readln(b);
k:=0;
for ch:=a to b do
 begin
  if Prost(ch)then
   begin
    write(ch,' ');
    inc(k);
   end;
  if k=5 then break;
end;
writeln;
if k<5 then writeln('На интервале [',a,',',b,'] нет 5 простых чисел');
end.
0
Заблокирован
14.08.2021, 18:08
Если еще нужно
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
program sample;
var n,m,i,k:qword;
 
begin
    write('n=');readln(n);
    write('m=');readln(m);
    k:=0;
    for i:=n to m do
        if i>=2 then
            if ((i=2) or (i=3) or (i=5) or (i=7) or (i=11)) or ((i mod 2<>0) and (i mod 3<>0) and (i mod 5<>0) and (i mod 7<>0) and (i mod 11<>0)) then
                k:=k+1;
    writeln(k);
end.
0
Модератор
10451 / 5742 / 3409
Регистрация: 17.08.2012
Сообщений: 17,474
15.08.2021, 00:24
pustelekno, не смешно.
Прогон Вашей программыn=1022
m=1024
0

1023 - простое число.
0
Заблокирован
15.08.2021, 02:46
Добавлено через 1 минуту
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
1023 - простое число.
(1+2+3)mod 3=?
0
Заблокирован
15.08.2021, 04:24
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
function prime(x:integer):boolean;
var r:boolean=true;
    i:integer=3;
begin
  if(x<>2)and((x<2)or(x mod 2=0))then r:=false
  else
  while i*i<=x do
  begin 
    if x mod i=0 then
    begin
      r:=false;
      break;
    end;
    i:=i+2;
  end;
  prime:=r;
end;
 
var a,b,i:integer;
begin
  write('a='); readln(a);
  write('b='); readln(b);
  for i:=a to b do
    if prime(i) then
      writeln(i);
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
15.08.2021, 16:11
Pascal
7
while i*i<=x do
RahatLukum, ну вот сколько лишних операций умножения?
Не поверите, но можно найти значение Trunc(Sqrt(x)), и сравнивать будет проще.

А если, к примеру, взять первые 20-30 натуральных чисел и начать применять на них „решето Эратосфена“.
Сначала для 2, а потом для 3.
Достаточно.
Очевидно, что начиная с числа 5 каждый кандидат „на простоту“ — это число вида (n ± 1) mod 6 = 0.
Вот так просто можно отсеять кучу чисел, которые не могут быть простым числом.
Да и ясно, что увеличивать делитель можно поочерёдно на 2 или 4.

Т.е. можно так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function prime(x : Integer) : Boolean;
var n, q, d : Integer;
begin
  if (x > 4) and ( ( (x-1) mod 6 = 0) or ( (x+1) mod 6 = 0) ) then
    begin
      n := 5;
      q := Trunc(Sqrt(x));
      d := 2;
      Result := False;
      while n <= q do
        begin
          if x mod n = 0 then Exit;
          inc(n, d);
          d := d xor 6;
        end;
      Result := True;
    end
  else
    Result := (x = 2) or (x = 3);
end;
0
Модератор
10451 / 5742 / 3409
Регистрация: 17.08.2012
Сообщений: 17,474
15.08.2021, 20:57
Exp2dot7, ох, да.
0
Модератор
10451 / 5742 / 3409
Регистрация: 17.08.2012
Сообщений: 17,474
17.08.2021, 11:01
Но, всё равно, программа от pustelekno неверная. Она считает простыми все составные числа, все простые множители которых больше 11, например, 169=13*13, 221=13*17 и так далее.
Прогон программыn=221
m=221
1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2021, 11:01
Помогаю со студенческими работами здесь

Определить все простые числа в интервале.
Задача №1 Дан интервал натуральных чисел от m до n. Определить все простые числа в этом интервале. Задача №2 Вводиться...

Выпишите простые числа, находящиеся в интервале между a и b
Здравствуйте,попал в очень неприятную ситуацию, понадеялся на человека, а он &quot;не смог&quot;. Времени мало, я попытаюсь за ночь хоть...

Найти все простые числа в заданном интервале
Здравствуйте,можете подсказать,что не верно в задаче : у из интервала от A до B найти все простые.Определение простоты числа оформить в...

В интервале от 1 до 100 найти все парные простые числа
В интервале от 1 до 100 найти все парные простые числа и вывести найденные пары чисел на экран,парными называют числа разность между...

Составить процедуру, печатающую все простые числа, расположенные в интервале (a;b)
Составить процедуру, печатающую все простые числа, расположенные в интервале (a;b)


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru