Это задание, которое мне дал мой профессор.Понятия не имею, с чего начать и что делать!Дело в том, чтобы использовать петли, чтобы понять это, и я могу делать петли, но это поражает меня.
Четные числа и простые числа.
Простое число - это число, которое имеет 1 и само является его единственным делителем.2, 3, 5, 7 и 11 - первые несколько.Обратите внимание, что «быть простым» является чисто мультипликативным условием - оно не имеет ничего общего с сложением.Поэтому может быть удивительно, что если мы начнем перечислять четные числа, они представляются суммой (сложением!) Двух простых чисел.4 = 2 + 2, 6 = 3 + 3, 8 = 5 + 3, 10 = 3 + 7, 12 = 7 + 5, 14 = 7 + 7, 16 = 13 + 3, ...
Это всегда так?Можно ли записать каждое четное число в виде суммы двух простых чисел?
- Написать функцию is_prime (n).Он должен принимать положительное целое число n> 1 в качестве входных данных и выводить True или False, в зависимости от того, является ли n простым числом или нет.Сделайте это с помощью цикла, который проверяет, делит ли n любое целое число d, 1
- Напишите функцию prime_sum (n).Он должен принимать четное число n> 1 в качестве входных данных и через цикл поиска простых чисел p & q с p + q = n.Подсказка: начните с p = 3. Если (p) и (np) простые, все готово.Если нет, установите p + = 2 и попробуйте снова.Убедитесь, что вы не ищите вечно!
- Main.
- Запросите у пользователя четное число n.Постоянно спрашивайте их, пока они не дадут вам положительное четное число.
- Найдите слагаемые p & q и либо распечатайте их (если они существуют), либо скажите, что их нет.
- Спросите пользователя, хотят ли они попробовать еще одну, и пусть он продолжит до тех пор, пока не уйдет.
Я не знал, что ямог бы отредактировать это!:) Так что это то, что я до сих пор.Я еще не тестировал его, чтобы отладить его, потому что я хочу разобраться со всем этим, и когда всплывают ошибки, я их устраню, но если вы обнаружите какие-либо непосредственные проблемы, дайте мне знать.
def is_prime(n):
d=2
while n>1 and d<n**0.5:
if n%2==0:
c=False
d+=1
return c
def prime_sum(n):
p=3
while n>1:
q=n-p
if q<=0:
p+=2
q=n-p
is_prime(q)
else:
is_prime(q)
is_prime(p)
while True:
print("The prime summands of", n, "are", p, "and", q)
while False:
print("There are no prime summands of", n)
def main():
n=eval(input("Gimme an even number please: "))
while True:
n=eval(input("That is not a positive even number. Try again: "))
#not sure how to combine yet, but I am still finishing.
#will edit again when I have it all down.