|
|
|
|||||||
| Знаете ли Вы, что ... | |
| ...нарушения правил форума наказываются. Старайтесь их не нарушать. | |
| << Предыдущий совет - Случайный совет - Следующий совет >> | |
| Программирование Обсуждаются вопросы мира программирования. Слово программирование отпугивает некоторых... Не бойтесь, заходите учитесь, помогайте, обучайте... |
| Ответить |
|
|
Опции темы | Опции просмотра |
|
|
#22 |
![]() програмщег
Сообщений: 4,971
+ 2,743
5,086/2,116
– 69
99/68
![]() |
Еще одно решение. До 100 000 работает 1,03-1,04 секунды.
PHP код:
__________________
Ошибки прошлого, мудрость будущего. (с)Д.Тернер. |
|
|
Ответить |
|
|
#23 |
ЕС |
И как там Пи? чему равно по новым данным?
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
|
Ответить |
|
|
#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 "+" от:
|
|
|
#25 |
ЕС |
Отлично, спасибо!
Теперь осталось объяснить происхождение явно выделенных диагональных отрезков и мы в дамках! :-0)
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
|
Ответить |
|
|
#27 | |
|
Сообщений: 1,306
+ 885
788/480
– 0
51/26
![]() |
Цитата:
|
|
|
|
Ответить |
|
|
#28 |
ЕС |
Хотите сказать, что диагональные под 45 градусов линии я придумал? Рассмотрите крупно картинку, они там есть! Гарднер объяснял это семейством простых чисел, порождаемых уравнениями вроде x^2 + x + 41 - дает подряд много простых чисел, лежащих на диагонали. Объяснить эту визуализацию каких-то закономерностей пока никто не может.
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
|
Ответить |
|
"+" от:
|
| Реклама и уведомления | |
|
|
#29 | |
|
Заблокирован(а)
Сообщений: 18,519
+ 10,956
12,586/6,453
– 307
539/385
![]() |
Цитата:
|
|
|
|
Ответить |
|
"+" от:
|
|
|
#30 |
ЕС |
Мы на пороге великого открытия, осталось самую малость.... проследить и объяснить :-0)
__________________
ZiyoNet.uz - Образовательный портал с элементами соцсети. |
|
|
Ответить |
|