Как найти простые числа (Python) - PullRequest
0 голосов
/ 08 мая 2019

Я новичок в программировании на Python, и меня запутали в базовом вопросе: выведите число простых чисел до заданного числа.

Например, количество простых чисел перед числом 100.

Почему мой код не работает?или что не так с моей логикой?

def count_prime(num):
    newnumber = 0
    for x in num:
        if x%2 == 0:
            newnumber = newnumber + 1
    print(newnumber)

count_prime(100)

Ответы [ 2 ]

0 голосов
/ 08 мая 2019
num = int(input("Enter a number: "))  

if num > 1:  
   for i in range(2,num):  
   if (num % i) == 0:  
       print(num,"is not a prime number")  
       print(i,"times",num//i,"is",num)  
       break  
   else:  
       print(num,"is a prime number")  

else:  
   print(num,"is not a prime number")  
0 голосов
/ 08 мая 2019

Один очень простой способ (т. Е. Медленный в вычислительном отношении) проверить, является ли число простым, - просто проверить, можно ли его разделить на любое другое число.

def is_prime(n):
    # If n is 0 or 1, it is not prime
    if n <= 1:
        return False
    # Check every number between 2 and n-1
    for i in range(2, n):
        # If n is divisible by i, then the remainder will be zero
        if n % i == 0:
            return False
    # Since n wasn't divisible by any other number, it must be prime
    return True

Чтобы напечатать все простые числа, выЗатем можно просто проверить каждый номер.

for i in range(num):
    if is_prime(i):
        print(i)

Этот метод будет очень медленным при больших значениях num.Чтобы увидеть более быстрые методы проверки простоты числа, вы можете взглянуть на этот вопрос .

...