![]() |
|
|
![]()
|
|
| Joil |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 24.1.2008 Репутация: нет Всего: 8 |
Всем привет!
Есть такая задача: Гипотеза Гольдбаха: Любое четное число > 2 представимо в виде суммы двух простых чисел. Напишите функцию f m :: Integer -> Bool, проверяющую гипотезу Гольдбаха для всех четных чисел, больших 2 и меньших m. Вот, какие есть вункции:
Что делать дальше, пока не могу сообразить... Буду благодарен за любую помощь!!! --------------------
Who had deceived thee so often as thyself? © Benjamin Franklin--------------------Always bear in mind that your own resolution to succeed is more important than any other. © Abraham Lincoln--------------------If you need it - do it, if you want it - take it! © ... |
|||
|
||||
| Shaggie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
Смотри. Функция должна 1) проверять, что число больше двух, иначе возвращать False; 2) проверять, что число чётное, иначе возвращать False; 3) для любого числа x, проходящего проверку, получать два списка простых чисел от 1 до x, получать список всех возможных сложений элементов первого списка с элементам второго списка (итог - суммы двух простых чисел), и проверять вхождение элемента x в полученном списке.
P.S. Некоторые детали реализации. 1) Функция primesupto реализована не совсем верно, она должна проверять на простоту числа в списке не [3..n], а [1..n], т.к. 1 и 2 тоже простые числа. Проверка для гипотезы Гольдбаха вставляется в финальное m. 2) Функция isprime вернёт неправильный результат для числа 1, которое, несомненно, тоже является простым, так как ожидает, что в списке будет больше одного элемента. Корректнее было бы переписать её таким образом:
Hope it'll help. Добавлено через 1 минуту и 47 секунд Как вариант, можно не возвращать False на x < 3 и odd x, а выбрасывать error с ругательством, ну это уже не важно - смотри как тебе больше нравится. |
||||
|
|||||
![]()
|
| Правила форума «Функциональные языки: общие вопросы» | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |