Простим називається число, яке ділиться націло лише на одиницю і на саме себе. Число 1 не вважається простим. Напишіть програму, яка знаходить усі прості числа в заданому проміжку, виводить їх на екран, а потім на вимогу користувача виводить їхню суму або добуток. мова пайтон


p15: хорошая задача.

Ответы

Ответ дал: klsmchak2011
1

Відповідь:

# define a function to find prime numbers in a given range

def findPrimes(start, end):

 

   # create an empty list to store all prime numbers

   primes = []

 

   # iterate from start to end

   for num in range(start, end + 1):

 

       # set is_prime boolean to true

       is_prime = True

   

       # check if the number is divisible by any other number

       # from 2 to number itself

       for i in range(2, num):

           if (num % i == 0):

               is_prime = False

       if is_prime:

           primes.append(num)

 

   # return the list of prime numbers

   return primes

 

# create the main function

def main():

 

   #taking range of number as input

   start, end = map(int, input("Enter start and end number: ").split())

 

   #finding prime numbers list

   primes = findPrimes(start, end)

 

   # printing primes list

   print("Prime numbers between", start, "and", end, "are:")

   print(*primes, sep=' ')

 

   # ask user if they want product or sum

   print("Do you want the sum or product of the prime numbers?")

   

   # read their choice

   choice = input("enter sum or product: ")

 

   # product of the prime numbers

   if choice == "product":

       result = 1

       for i in primes:

           result *= i

 

   # sum of the prime numbers

   elif choice == "sum":

       result = 0

       for i in primes:

           result += i

 

   # display the result

   print("Result is:", result)

 

# call the main function

if __name__ == "__main__":

   main()

Пояснення:

Розписав вам у коментах


p15: Можно ускорить на порядок или больше.
portasandrew: Як саме?
p15: Было бы больше балов, показал бы. Хоть и не важны баллы для меня, но 8 для красивого алгоритма мало. Кстати - порядок это в 10 раз примерно.
p15: А так и этот наверное работает, медленно, но должен работать.
Вас заинтересует