Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 25

Из промежутка от а до б найти все простые числа. Нужно составить блок-схему

14.11.2013, 00:56. Показов 1459. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2013, 00:56
Ответы с готовыми решениями:

Найти все простые числа из промежутка от 1 до n
В чём тут проблема ? #include <iostream> using namespace std; void prch(int n) { bool x = true; for (int i = 2; i <=...

Как найти все простые числа из промежутка от a до b?
создать программу в методах Даны натуральные числа от a до b (a < b). Найти все простые числа из промежутка от a до b. ( простые числа...

Составить блок-схему: Напечатать все совершенные числа до заданного числа N
Здравствуйте. Помогите пожалуйста составить блок-схемы к задачам. Завтра зачет, без вариантов надо сдать. Обещаюсь научиться всему в...

11
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
14.11.2013, 15:12
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
DEFINT a-z
DIM a,b,i,j
INPUT "Enter a: ",a
INPUT "Enter b: ",b
FOR i=a TO b
  FOR j=2 TO i\2
    IF i MOD j=0 THEN EXIT FOR
    IF j=i\2 THEN PRINT i
  NEXT j
NEXT i
END
1
1045 / 315 / 74
Регистрация: 13.07.2013
Сообщений: 1,270
14.11.2013, 17:45
Цитата Сообщение от vodav Посмотреть сообщение
i\2
Что это? "Обратное деление"? Или возведение в степень 1/2? По-моему, "обратное деление"...
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
14.11.2013, 21:30
Что это?
Целочисленное деление.
1
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 12
16.12.2013, 17:32
если ввести 1 и 9 он выводит 5 и 7, потеряв 2 и 3 и собственно единицу
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
29.05.2016, 18:03
refery07
В программе опечатка.
Поменяйте местами строки 8 и 9 и все будет работать верно.
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
29.05.2016, 18:58
geh, проверьте, пожалуйста в QB мой «древнегреческий» (Архимедов) вариант:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub vodav_primes_with_booster()
    Dim a, b, i, j
    a = 10 ^ 9
    b = 10 ^ 9 + 100
        For i = a To b
        
            For j = 2 To Sqr(i)  ' To i \ 2
                If i Mod j = 0 Then Exit For
            Next j
            
            If j > Sqr(i) Then N = N + 1: 'Debug.Print i (см. по Ctrl-G при запуске из Word)
        Next i
    MsgBox "Всего простых промежутке [" & a & "; " & b & "]: " & N
End Sub
У меня верхний предел 1010 (не включительно).
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
29.05.2016, 19:33
Sasha_Smirnov
Я определил для i и j тип LONG и все заработало.
Это не самая быстрая программа. Если брать не
Все числа подряд, а только нечетные, то будет
работать в двое быстрее. Ну а если брать числа
вида 6n +/-1, то будет работать в трое быстрее.
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
29.05.2016, 20:41
Цитата Сообщение от refery07 Посмотреть сообщение
собственно единицу
к простым числам не надо причислять.

У меня (хотя и не в QBasic’е) верно печатает (2-3-5-7-11…) вот такая модификация «циклов vodav’а»:
Visual Basic
1
2
3
4
5
6
    For i = a To b
        For j = 2 To i \ 2
          If i Mod j = 0 Then Exit For
        Next j
        If j = i \ 2 + 1 Then Print i 'в VB индекс здесь не равен верхнему пределу [i\2], а больше его на 1
    Next i
1
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
29.05.2016, 20:54
Sasha_Smirnov
Единица (1) - не является ни простым ни составным числом
В быстрых программах числа 2 и 3 не вычисляют, а сразу
печатают. Вы верно модифицировали программу. Дело в том,
что если число является ТОЧНЫМ КВАДРАТОМ, то при работе
с вещественными числами оно может попасть в разряд
простых чисел, хотя таковым может и не быть.
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
08.07.2016, 16:28
А я — с целыми, geh!
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
09.07.2016, 05:59
Цикл по j лучше организовать не до i\2, а до sqr(i), это даст существенный прирост скорости для больших a и b
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
DIM i AS LONG, j AS LONG, a AS LONG, b AS LONG
a = 10 ^ 9
b = a + 100
FOR i = a TO b
    IF i MOD 2 = 1 OR i = 2 THEN
        FOR j = 3 TO SQR(i) STEP 2
            IF i MOD j = 0 THEN EXIT FOR
        NEXT j
        IF j > SQR(i) AND i > 1 THEN PRINT i
    END IF
NEXT i
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2016, 05:59
Помогаю со студенческими работами здесь

Получить все простые числа из промежутка
Написать програму, использую цикл for. Задача: Даны натуральные числа a, b (a<b). Получить все простые числа р, удовлетворяющие...

Найдите все простые числа из промежутка (a,b)
Здравствуйте. Я только учусь программировать. Запуталась с одной задачкой. Помогите, пожалуйста. Найдите все простые числа из промежутка...

Найти и распечатать в порядке убывания все простые числа из заданного промежутка, используя "решето Эратосфена"
Составить программу поиска и печати в порядке убывания все простые числа из промежутка (2..201), используя метод «решето Эратосфена»

Вывести все простые числа из заданного промежутка
#include <stdio.h> #include <math.h> int main() {int i,M,N,f=1; scanf("%d%d", &M,&N); for ( ; M <= N; M++) { for (i = 2; i...

Вывести на экран все простые числа из данного промежутка
Вывести на экран все простые числа из данного промежутка.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru