Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 16

Найти 100 первых простых чисел

17.12.2018, 00:42. Показов 7528. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти 100 первых простых чисел. Вывести их на экран через пробел.

i=2
a = 0
bool_off = True
while bool_off:
f=True
j=2
while f and j<i:
if not i%j: f=False
j+=1
if f:
print(i,end=' ')
a += 1
i+=1
if a >= 100:
bool_off = False


2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2018, 00:42
Ответы с готовыми решениями:

Найти 100 первых простых чисел
Найти 100 первых простых чисел. Исправьте пожалуйста def primes_upto(limit): prime = * limit for n in range(2, limit): if...

Вывести на экран 100 первых простых чисел
Вывести на экран 100 первых простых чисел Внешний цикл должен отвечать за контроль того, сколько чисел найдено, и генерацию следующего...

Найти 15 первых натуральных чисел, делящихся нацело на 19 и больше 100
С помощью классов найти 15 первых натуральных чисел, дилятся нацело на 19 и находятся в интервал левая граница которого равна 100.

7
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.12.2018, 01:05
Когда Вы копируете сюда текст своей программы используйте в окне кнопку Python ('Выделить код Python') и туда вставляйте свою программу, что бы не пропадали отступы из Вашей программы. Тогда будет проще отвечать на Ваш вопрос, учитывая, что ошибка у Вас может быть и в неправильных отступах. Отступы являются частью синтаксиса Python.
0
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 16
17.12.2018, 01:14  [ТС]
Код верный! Понять бы что означает та или иная функция!
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.12.2018, 11:25
Вот для понимания и нужно вывести правильно структурированный код. А тратить время, что бы разбираться в таком коде, нет никакого желания.
0
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
17.12.2018, 11:28
Что именно не понятно? Вроде все основные операторы python используются, ничего не обычного
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
17.12.2018, 11:58
Я принципиально не разбираюсь с кодами, где отсутствую отступы, так как отступы это часть синтаксиса Python.

Добавлено через 4 минуты
А аналогичную задачу я сам писал, так что если будет правильно оформленный код, я тогда его прокомментирую.
0
0 / 0 / 0
Регистрация: 10.04.2018
Сообщений: 16
17.12.2018, 18:13  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
i=2
a = 0
bool_off = True
while bool_off:
    f=True
    j=2
    while f and j<i:
        if not i%j: f=False
        j+=1
    if f: 
        print(i,end=' ')
        a += 1
    i+=1
    if a >= 100:
        bool_off = False
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
19.12.2018, 02:43
Во первых нужно помнить, что для циклов условие в виде любого числа кроме нуля, является True, 0 (ноль) воспринимается как False. И еще особенность питон, True синоним 1(единицы), False синоним (нуля)
Например True + 4 вернет 5, а 7*False вернет 0.
Python
1
2
3
4
5
6
>>> n = True + 4
>>> n
5
>>> n = 7*False
>>> n
0
Теперь рассмотрим Ваш сценарий:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
i=2                       # первое простое число, это 2
a = 0                     # счетчик найденных простых чисел
bool_off = True
while bool_off:
    f=True
    j=2
    while f and j<i:
        if not i%j: f=False  # i%j - деление по модулю, которое возвращает остаток от деления. Он равен нулю, если
                             # i делится на j. Ноль это False, not False это True. Отсюда получается, если i не делится
                             # на j, то i%j будет True и условие будет ложь, тогда f останется истиной и
                             # цикл повторится для для следующего делителя j + 1. Если найдется j меньшее чем i, На которое
                             # i делится, то f будет присвоено False и цикл прекратится, и следующее If не сработает. Если же
                             # не найдется j, на которое делится i, и цикл дойдет до j = i, то цикл прекратится, но F останется
                             # равным True и if следующее ниже за циклом сработает, напечатав простое число.
                             # Дальше все просто, разберитесь сами.
        j+=1
    if f: 
        print(i,end=' ')
        a += 1
    i+=1
    if a >= 100:
        bool_off = False
Но этот сценарий не самый быстрый.
Вот сценарии поиска простых чисел, алгоритмы которых взяты еще из паскаля, 4 варианта проверки числа на простоту:

--------------------------------------------------

----------

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# проверка является ли число простым
import math
def is_prime1(n):
    for i in range(2, int(math.sqrt(n) + 1)):
        if n % i == 0: 
            return False
    return n > 1
   
def is_prime2(n, d=3):
    if n < 2 or n != 2 and n & 1 == 0:
        return False
    if d * d > n:
        return True
    return n % d and is_prime2(n, d + 2)
 
def is_prime3(n):
    return ~-2 ** n % n < 2
 
def is_prime4(n):
    return sympy.isprime(n)
 
print(is_prime1(2683))
print(2683>1)
Добавлено через 2 минуты
Правда для четвергого варианта нужна библиотека SymPy.
SymPy представляет собой открытую библиотеку символьных вычислений на языке Python. ... SymPy полностью написан на Python и не требует сторонних библиотек.
Но самый прикольный, это третий вариант:

Добавлено через 1 минуту
Python
1
2
def is_prime3(n):
    return ~-2 ** n % n < 2
Добавлено через 8 минут
Как он работает я не знаю, но работает правильно, точно определяя является ли число простым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2018, 02:43
Помогаю со студенческими работами здесь

Найти 10 первых натуральных чисел, оканчивающихся на цифру 7, кратных числу 9 и больших 100
14. Найти 10 первых натуральных чисел, оканчивающихся на цифру 7, кратных числу 9 и больших 100.

Получить m первых простых чисел
7. Получить m первых простых чисел.

Выведите N первых простых чисел
Добрый день, помогите, пожалуйста, решить задачу. Выведите N первых простых чисел на каждой строке отдельно. Вывести числа не в...

Создать файл, состоящий из 100 случайных чисел в диапазоне от 20 до 200. Проверить наличие в файле простых чисел: 23, 31
Создать файл, состоящий из 100 случайных чисел в диапазоне от 20 до 200. Проверить наличие в файле простых чисел: 23, 31. Помогите ребят

Найти первых 100 простых чисел
Найти первых 100 простых чисел. Помогите пожалуйста, никак не получается.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru