Я пытаюсь решить эту задачу: гипотеза Гольдбаха
Покажите с помощью программы «goldbach.py», что все четные числа до 1000 действительно можно записать в виде суммы два простых числа. А именно: для каждого четного числа также явно (на экране) показать, что его можно записать в виде суммы двух простых чисел, как в примере ниже
Еще важнее, конечно, если вы находите номер, который не вызывает подозрений Гольдбаха. Убедитесь, что ваша программа четко отображает такое открытие на экране. Бинго!
python goldbach.py
16 = ...
18 = 5 + 13< /p>
20 = 3 + 17
22 = 5 + 17
24 = ...
Прогресс
На данный момент я создал список, в котором хранятся все простые числа до 1000, а затем я создал список, в котором все комбинации простых чисел, сумма которых является четным числом, до 1000. Я знал формат, чтобы он печатал 3 + 17, но я застрял в попытке сказать sum(pairs) = prime1 "+" prime2. Например, должно быть 3 + 17 = 20. Кроме того, я не знаю, как получить только один пример пары простых чисел, сумма которых будет четной до 1000. Мне нужно как-то разорвать цикл.
Потому что Функция суммы не работала. Я обнаружил, что могу преобразовать ее в «массив numpy», а затем использовать «накопить». Я просто не могу заставить его работать и знаю, что получаю сообщение об ошибке: «DeprecationWarning: поэлементное == сравнение не удалось; в будущем это приведет к ошибке.'
Может ли кто-нибудь помочь мне с кодом?
from itertools import accumulate, islice
from numpy import array
import numpy as np
primes = []
pairs = []
numpy_pairs = np.asarray(pairs)
for num in range (4, 1000):
for j in range (2, num):
if (num % j) == 0:
break
else:
primes.append(num)
#for x in range(2,1000):
# if x in primes:
# print ("Ja, het getal {} komt voor in mijn primes".format(x))
for x in range(2,1000):
if x % 2 == 0:
for prime1 in primes:
for prime2 in primes:
if prime1 + prime2 == x and [prime1, prime2] not in numpy_pairs and [prime2, prime1] not in numpy_pairs:
np.append(numpy_pairs,[prime1,prime2])
results = ("{}+{}={}".format(i, j, k) for i, j in zip(numpy_pairs[0::2],
numpy_pairs[1::2]) for k in accumulate(islice(numpy_pairs,numpy_pairs.stop)))
print('\n'.join(results))
Подробнее здесь: https://stackoverflow.com/questions/545 ... these-elem
Как мне распечатать два элемента массива и последующую сумму этих элементов? (Вопрос о простых числах Гольдбаха) ⇐ Python
Программы на Python
1736195566
Anonymous
Я пытаюсь решить эту задачу: гипотеза Гольдбаха
Покажите с помощью программы «goldbach.py», что все четные числа до 1000 действительно можно записать в виде суммы два простых числа. А именно: для каждого четного числа также явно (на экране) показать, что его можно записать в виде суммы двух простых чисел, как в примере ниже
Еще важнее, конечно, если вы находите номер, который не вызывает подозрений Гольдбаха. Убедитесь, что ваша программа четко отображает такое открытие на экране. Бинго!
python goldbach.py
16 = ...
18 = 5 + 13< /p>
20 = 3 + 17
22 = 5 + 17
24 = ...
[b]Прогресс[/b]
На данный момент я создал список, в котором хранятся все простые числа до 1000, а затем я создал список, в котором все комбинации простых чисел, сумма которых является четным числом, до 1000. Я знал формат, чтобы он печатал 3 + 17, но я застрял в попытке сказать sum(pairs) = prime1 "+" prime2. Например, должно быть 3 + 17 = 20. Кроме того, я не знаю, как получить только один пример пары простых чисел, сумма которых будет четной до 1000. Мне нужно как-то разорвать цикл.
Потому что Функция суммы не работала. Я обнаружил, что могу преобразовать ее в «массив numpy», а затем использовать «накопить». Я просто не могу заставить его работать и знаю, что получаю сообщение об ошибке: «DeprecationWarning: поэлементное == сравнение не удалось; в будущем это приведет к ошибке.'
Может ли кто-нибудь помочь мне с кодом?
from itertools import accumulate, islice
from numpy import array
import numpy as np
primes = []
pairs = []
numpy_pairs = np.asarray(pairs)
for num in range (4, 1000):
for j in range (2, num):
if (num % j) == 0:
break
else:
primes.append(num)
#for x in range(2,1000):
# if x in primes:
# print ("Ja, het getal {} komt voor in mijn primes".format(x))
for x in range(2,1000):
if x % 2 == 0:
for prime1 in primes:
for prime2 in primes:
if prime1 + prime2 == x and [prime1, prime2] not in numpy_pairs and [prime2, prime1] not in numpy_pairs:
np.append(numpy_pairs,[prime1,prime2])
results = ("{}+{}={}".format(i, j, k) for i, j in zip(numpy_pairs[0::2],
numpy_pairs[1::2]) for k in accumulate(islice(numpy_pairs,numpy_pairs.stop)))
print('\n'.join(results))
Подробнее здесь: [url]https://stackoverflow.com/questions/54502653/how-do-i-print-the-two-elements-of-an-array-and-the-subsequent-sum-of-these-elem[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия