|
|
Знаете ли Вы, что ... | |
...до того как открыть новую тему, стоит использовать поиск: такая тема уже может существовать. | |
<< Предыдущий совет - Случайный совет - Следующий совет >> |
Программирование Обсуждаются вопросы мира программирования. Слово программирование отпугивает некоторых... Не бойтесь, заходите учитесь, помогайте, обучайте... |
Ответить |
|
Опции темы | Опции просмотра |
12.05.2011 19:34 | #22 |
програмщег
Сообщений: 4,971
+ 2,743
5,086/2,116
– 69
99/68
|
Еще одно решение. До 100 000 работает 1,03-1,04 секунды.
PHP код:
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер. |
|
Ответить |
12.05.2011 21:52 | #23 |
ЕС
|
И как там Пи? чему равно по новым данным?
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
Ответить |
13.05.2011 13:01 | #24 | |
Google
software engineer
AKA:Y combinator
Сообщений: 418
+ 114
374/183
– 6
9/8
|
Цитата:
https://gist.github.com/970169 Код:
import Data.List import Graphics.Gloss import Graphics.Gloss.Data.Point infixl 6 |+| (x, y) |+| (x', y') = (x + x', y + y') spiral = scanl (|+|) (0, 0) steps where steps = concat $ zipWith replicate sides (iterate r90ccw (1, 0)) sides = concatMap (replicate 2) $ map fromIntegral [1..] r90ccw (x, y) = (-y, x) primes :: [Int] primes = 2 : 3 : filter isPrime [5, 7 ..] where isPrime n = and [n `mod` i /= 0 | i <- takeWhile (\i -> i * i <= n) (tail primes)] primesMask = merge [1..] primes where merge (n : nt) ps@(p : pt) | n == p = True : merge nt pt | otherwise = False : merge nt ps side = 600 picture = color black $ pictures $ [translate x y (rectangleSolid 1 1) | (x, y) <- takeWhile isVisible $ filteredSpiral] where filteredSpiral = map fst $ filter snd $ zip spiral primesMask isVisible p = pointInBox p (side, side) (-side, -side) main = displayInWindow "Ulam spiral" windowSize (100, 100) white picture where windowSize = (round side, round side) |
|
|
Ответить |
3 "+" от:
|
13.05.2011 14:34 | #25 |
ЕС
|
Отлично, спасибо!
Теперь осталось объяснить происхождение явно выделенных диагональных отрезков и мы в дамках! :-0)
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
Ответить |
14.05.2011 01:09 | #28 |
ЕС
|
Хотите сказать, что диагональные под 45 градусов линии я придумал? Рассмотрите крупно картинку, они там есть! Гарднер объяснял это семейством простых чисел, порождаемых уравнениями вроде x^2 + x + 41 - дает подряд много простых чисел, лежащих на диагонали. Объяснить эту визуализацию каких-то закономерностей пока никто не может.
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
Ответить |
"+" от:
|
Реклама и уведомления | |
14.05.2011 02:32 | #29 | |
Заблокирован(а)
Сообщений: 18,519
+ 10,956
12,586/6,453
– 307
539/385
|
Цитата:
|
|
|
Ответить |
"+" от:
|
14.05.2011 12:04 | #30 |
ЕС
|
Мы на пороге великого открытия, осталось самую малость.... проследить и объяснить :-0)
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
Ответить |
|