44 FreeBasic Скатерть Улама
Скатерть Улама(спираль Улама)
Однажды один математик заскучал на скучном мероприятии. И чтобы скоротать время он начал выписываь числа по спирали, нечина с середины, точно так как мы рисовали квадратную спираль.
А потом он решил отметить(закрасить) простые числа... Давайте и мы сделаем так - уже практически всё готово - 27, 28, 42, 43
Нужно только написать функцию которая будет определять простое это число или нет.
function prost(byval r as integer) as integer
dim as integer i
for i=2 to sqr(r)
if (r mod i) = 0 then return -2
next i
return 0
end function
и вызывать её из основной программы
x=512: y=384: z=1
screenres 1024,768
for i=1 to 768
for k=0 to 1
if (2*i+k) mod 4 = 1 then dx=1: dy=0
if (2*i+k) mod 4 = 2 then dx=0: dy=1
if (2*i+k) mod 4 = 3 then dx=-1:dy=0
if (2*i+k) mod 4 = 0 then dx=0: dy=-1
for j=1 to i
if prost(z)=0 then pset(x,y),15
x+=dx: y+=dy: z+=1
next j
next k
next i
sleep
Вот результат -
Немного увеличил
Видно что простые числа вістраиваются в линии)))
Эту удивительную картину Станислав Улам придумал в 1963 году. А позже другие математики создали её варианты расположив простые числа в иных фигурах.
Лауренце Монро Клаубер расположил числа в треугольнике, а Роберт Сакс расположил их по Архимедовой спирали.