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

Вывести все простые числа от 2 до 100

09.10.2019, 21:46. Показов 36742. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно вывести все простые числа от 2 до 100
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 for i in range (2, 100):
    i = False
    
    for j in range (2, i):
        if i == j:
            i= True
 
        else:
            if i % j != 0:
                i = True
 
            else:
                i = False
 
        if i == False:
            break
 
 for i in range (2 , 100):
    if (i):
        print (i)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.10.2019, 21:46
Ответы с готовыми решениями:

Вывести все простые числа в интервале (a, b), где 100<a,b<1000, используя циклическую конструкцию for
Доброго времени суток, нужна помощь с написанием кода: Вывести все простые числа в интервале (a, b), где 100&lt;a,b&lt;1000, используя...

Вывести все простые числа от 0 до 100
Вывести все простые числа от 0 до 100

Вывести все простые числа до 100
Задача такова &quot;выведите все простые числа до 100&quot;, с помощью циклов (без массивов) и заумных вещей. Вот что наковырял. Не могу доделать....

11
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
09.10.2019, 21:53
Tony00, Все не так. Алгоритм решения совершенно не верный.
1
1 / 1 / 0
Регистрация: 18.11.2018
Сообщений: 11
09.10.2019, 21:59  [ТС]
Блин. Я только начал изучать python. Я через списки могу делать, но без них можно как-то сделать?
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
09.10.2019, 22:04
Tony00, Вот несколько известных функций для определения является ли число простым. Берете и в цикле проверяете числа с помощью одной из этих функций, является ли число простым. И если оно простое, то выводите его.
Python
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
45
46
47
48
49
50
# проверка является ли число простым
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)
 
# Все решения проходят тест на первые 500 простых чисел из википедии:
nums = [ 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,
547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,
661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,
811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,
947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,
1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,
1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,
1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,
1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,
1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,
1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,
1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,
2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,
2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,
2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,
2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,
2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,
2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067,3079,
3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251,3253,3257,
3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389,3391,3407,3413,
3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541,3547,3557,3559,3571 ]
1
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
10.10.2019, 00:03
Tony00, это достаточно просто
Необходимо проверять делятся ли число на предыдущие числа из цикла, это можно сделать с помощью встроенного цикла
0
1 / 1 / 0
Регистрация: 18.11.2018
Сообщений: 11
11.10.2019, 21:26  [ТС]
В итоге сам сделал:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
b =  [3]*100
 
for i in range (2, 100):
    
    for j in range (2, i):
        
        
        if i % j != 0:
            b[i] = 0
 
        else:
            b[i] = 1
            break
 
for i in range (2, 100):
    if i == 2:
        print (i)
 
    if b[i] == 0:
        print (i)
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.10.2019, 02:05
Tony00, Молодец, вот только зачем так сложно и столько не нужных действий. Можно было сделать так, как предложил Макрой,
Python
1
2
3
4
5
6
7
8
9
print(2)
for i in range (3, 100):
    flag = True
    for j in range (2, i):
        if i % j == 0:
            flag = False
            break
    if flag:
        print(i)
или использовать одну из функций, которые указал я, и тогда вычисления значительно ускорятся.
1
64 / 45 / 20
Регистрация: 04.12.2018
Сообщений: 334
12.10.2019, 15:47
Tony00,
Python
1
2
3
4
5
6
7
8
9
10
11
diapason = int(input("Введите до какого числа выполнить нахождение простых чисел :"))
stop = False
for i in range(2,diapason):
    for j in range(2, int((i/2)+1)):
            if(i % j !=0): 
                stop = True
            else:
                stop = False
                break
    if(stop == True):
        print(i)
1
1 / 1 / 0
Регистрация: 18.11.2018
Сообщений: 11
13.10.2019, 17:26  [ТС]
Спасибо. Но я начал изучать Python (да и программирование тоже ) недавно. И я хотел сам решить эту задачу. Какой смысл использовать функции, которые не понимаешь как работают
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.10.2019, 17:30
Tony00, теперь у Вас есть стимул прочитать про них и понять, как они работают.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
14.10.2019, 00:06
Цитата Сообщение от Tony00 Посмотреть сообщение
И я хотел сам решить эту задачу
Если Вы хотели решить сами, то зачем обратились за помощью на форум? Вы решили ее не самым лучшим способом, и по этому в целях изучения питона Вам стоит разобраться в чем Ваши ошибки. Ваш алгоритм решения не оптимален. И Вы должны понять почему. Иначе Вы так и будете создавать корявые решения.
Но то, что Вы хоть коряво, но все таки смогли сами решить, это Вам в плюс.
0
Эксперт Python
 Аватар для dondublon
4651 / 2071 / 366
Регистрация: 17.03.2012
Сообщений: 10,180
Записей в блоге: 6
14.10.2019, 10:57
Tony00, решето Эратосфена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.10.2019, 10:57
Помогаю со студенческими работами здесь

Вывести все простые числа из промежутка [2; 100]
Вывести все простые числа из промежутка

Вывести все простые числа от 0 до 100 (цикл while)
Подскажите пожалуйста как при помощи цикла while и проверки вывести на экран все простые числа от 0 до 100. (1,3,5,7,11,13,17....)

Вывести все простые числа из диапазона от 1 до 100
Что не так с кодом? Должен выводить все простые числа от 1 до 100. Только учусь, потому может быть простая ошибка, но не #include...

Найти все простые числа до 100 и вывести их в combobox
Всем привет, помогите пожалуйста. Нужно найти все простые числа до 100, и вывести их в combobox.(программа должна сама рассчитывать простые...

Перебором делителей найти простые числа в указанном диапазоне, и вывести все простые числа в поле Memo
Мне нужна программка на Delphi, которая простым перебором делителей находит простые числа в указанном диапазоне и выводит все простые числа...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru