[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference rusure::math

Title:Mathematics at DEC
Moderator:RUSURE::EDP
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2083
Total number of notes:14613

154.0. "Plotting primes in spiral" by HARE::STAN () Thu Sep 20 1984 23:45

	PROGRAM PRIMEPLOT
	IMPLICIT INTEGER*4(A-Z)
	PARAMETER (TOP=40000)
	LOGICAL*1 PRIMES(TOP)
C
C	Plots primes in a spiral on a VT125.
C
C	Stanley Rabinowitz
C
C	The numbers from 1 to 10000 are drawn in a spiral as follows:
C
C
C              17  16  15  14  13
C              18   5   4   3  12
C	       19   6   1   2  11
C              20   7   8   9  10
C              21  22  23  24  25
C
C	Each prime is displayed as a dot; composite numbers are not displayed.
C	Interesting unexpected patterns are seen.
C
	BYTE DELTAX(4) /+1, 0,-1, 0/
	BYTE DELTAY(4) / 0,+1, 0,-1/
	CALL SIEVE(PRIMES,TOP)
	CALL CLEAR
	X=0
	Y=0
	POS=1
	NUMBER=1
	DO 2 K=1,TOP
C
C	Right k, Up k, Left k+1, Down k+1, etc.
C
	DO 2 JJ=1,2
	DO 3 J=1,K
	IF (NUMBER.EQ.TOP) GOTO 50
	NUMBER=NUMBER+1
	X=X+DELTAX(POS)
	Y=Y+DELTAY(POS)
	IF (PRIMES(NUMBER)) CALL PLOT(X,Y)
3	CONTINUE
	POS=POS+1
	IF (POS.EQ.5) POS=1
2	CONTINUE
50	TYPE 100, 27
100	FORMAT(1X,A1,'\')
	CALL EXIT
	END

	SUBROUTINE SIEVE(PRIMES,TOP)
	IMPLICIT INTEGER*4(A-Z)
	LOGICAL*1 PRIMES(TOP)
C
C	Calculate primes to 40,000 using Sieve of Eratosthenes.
C	For purposes of this program, treat 1 as a prime.
C
	INTEGER*2 PR(7)
	DATA PR/3,5,7,11,13,17,19/
	DO I=2,TOP,2
	PRIMES(I-1)=.TRUE.
	PRIMES(I)=.FALSE.
	END DO
	DO 2 I=1,5
	P=PR(I)
	DO 3 J=3*P,TOP,2*P
3	PRIMES(J)=.FALSE.
2	CONTINUE
	DO 4 I=3,200,2
	IF (.NOT.PRIMES(I)) GOTO 4
	DO 5 J=3*I,TOP,2*I
5	PRIMES(J)=.FALSE.
4	CONTINUE
	RETURN
	END

	SUBROUTINE CLEAR
	IMPLICIT INTEGER*4(A-Z)
	ESC=27
	TYPE 100, ESC,ESC,ESC
100	FORMAT(1X,A1,'[H',A1,'[2J',A1,'P1ps(M0(L0)(AL0))S(I0)S(E)S[0,0]')
	RETURN
	END

	SUBROUTINE PLOT(X,Y)
	IMPLICIT INTEGER*4(A-Z)
	PARAMETER (XOFFSET=350)
	PARAMETER (YOFFSET=250)
	TYPE 100, 2*X+XOFFSET,500-2*Y-YOFFSET
100	FORMAT(' P[',I3,',',I3,']V[]')
	RETURN
	END
T.RTitleUserPersonal
Name
DateLines
154.1REX::POWERSFri Sep 21 1984 14:1911
The following reply is a SIXEL image of the resulting pattern.
It has the proper introducer and terminator sequences to allow it to be
TYPEd out after SAVing.  The line counter in NOTES-11 turns off SIXEL
mode (as I have my terminal line set up, anyway), so the image will not be
completely displayed if you just READ it.

ADVISORY NOTE:
The following reply may cause grief to non-graphics terminal users.
It is suggested that you skip the next reply!

- tom]
154.2REX::GILBERTFri Sep 21 1984 15:24218
When including a picture (or other fancy graphics), please give a short
description and/or warning, followed by a form feed, then the picture.
That way, the innocent users have the opportunity to avoid it, and the
intended audience can "SAVE TT:" to see it, without first getting stuck
in a funny video mode.

*** WARNING -- The following contains VT125 graphics ***

$P1pS(M0(L0)(AL0))S(I0)S(E)S[0,0]\
P1q-
-
-
-
!164?S!9?a!5?C!5?A!5?O?a!5?C?G!7?A!5?O!5?_!11?G?C!3?C
!5?i?S!3?O!17?_?O!5?A!5?S?G?O!5?A?S!5?_!3?_?O!5?_!7?G?C?_!3?
g?O?G?S!9?G?C?A!3?g?S!9?_?C!3?O!5?A!3?G?C?A!3?g!5?O?A!5?C!3?
O?_!3?I?O!9?I?O!9?A!3?G?O?_!5?O!5?A!3?_?O?G?C?a!3?A?C!3?C!13
?a!3?A!5?O?_!3?I!3?G?C!5?_?C?G!7?_?O!9?_!3?G-
!152?@!3?O?_!7?G?@?_!3?A?C?G?S!11?S!3?@?A!5?O?A!3?_!5?@?a!3?
G!3?G?@?a!3?_?O!3?@!5?_!5?O?_!3?G?C?G!3?_!3?A?S!3?O!7?C?G?@?
a!3?A!3?G!13?O!5?a?S!5?_?@?_?C?G?D?A?@?G?O?G?@?A!3?_?C!3?S!3
?@?g!5?O?_?@?g!3?G?C!7?S!3?@?A!3?G!5?@?A!5?C!3?S!3?@!7?O!3?@
?G!5?S!5?a?O?G!3?_?@!9?_!3?G?O!3?S!15?@?_?C!3?O?_!3?A!5?D!5?
G!11?A!3?_?@?A?@!5?_-
!152?C?_?O?_?D?G?C?G!5?C?A!3?_?O!5?I?C!3?C?_!7?G!5?@?g?C?G?@
!7?S!3?@?a!9?O!3?@?A?S!5?A?@!7?O?a!3?_!3?G!9?C?G?@!5?G?O!9?a
?S!15?C!3?@?_!5?C!3?@?A!3?G?O!7?S!9?A?S!7?@!5?G!3?a!3?A?C!3?
P!5?G?O!3?D?a!3?_!7?A!3?A!7?_!3?_?O?G!3?A?@?A?C!3?D?_?@?G?S!
5?a!3?G?O!3?P!9?G?C?a!7?G?C!3?@?A?C!3?@?_?@?a?C!7?D!3?O?G!9?
O-
!164?@?_!3?g!3?A!7?G!7?g!3?a?@?A!5?C!5?_!3?G?P?A?@?A?C?G!7?g
?O?G?@!3?@!9?A!3?A?C!9?G?C!3?O!3?@?A?O!3?O!11?C?A!3?_?O?G?C?
A!3?G!5?D!11?D?A?@!3?O?G!7?A?C!9?_?O!3?C?_!3?A!5?@!5?_!5?C!3
?@!3?O!5?_!3?A!5?O?_?@?A?O!7?@!3?S!3?@!5?G?C?G?C!5?a?C?G!7?_
!3?G?T!3?@?G!11?G!5?P?a!3?_?C?g!3?_?@!3?C!5?A?C!5?_?D!5?_!3?
_-
!152?D!3?@?G!3?A?@!7?C!5?_?@!5?A?D?_?P!3?C!3?C!3?O!5?A?O!5?_
!7?G!7?A?C!3?C?_!3?a!3?G?@!3?@!7?C?a!3?G?O!3?@!5?A?O?G?@?A?@
?i?C!3?O?A?@!3?C?G!7?_?C!5?A!3?I!3?G?C!7?O!5?A!3?a!9?@?A!3?G
?@?A?@?G!5?T?A!9?O?_!3?a!3?G?C!3?@?G?O!3?C?A?@?_!5?@!5?G?C!3
?@!7?O!3?O?_!3?A?S?G?D!9?G?O?a!3?A!7?_?@?G?O!3?D?A!7?_!5?@?g
?S!5?_!11?A?@?G-
!152?@?g?@!11?O?G!5?@!15?O!9?G?P?_!3?G!5?P?A!3?G!5?C?_!3?_!5
?D!3?@?I!5?P!5?A!7?_!3?A?O!3?C!3?@?_?S?G?O?_?@?i!5?C?_?@?I?O
!3?P?_!7?G?P?A!3?I!5?@!5?G?C!3?O?a!3?G?C!3?@!5?_?O!13?G?C?_!
9?@?A!3?_?O?G?C?A?@?g!11?_?O!5?a?@!7?@?A!3?G?O!3?O?A!5?C?G?C
?a!3?I?S!3?D?_!3?A!3?_?D!3?@?G?O?_?@?_?@!5?_!11?G?@!5?_!3?_!
3?_!3?_?C?G-
!152?D?G!3?g?@!5?_?@?G!7?_?@!7?D?_?@!5?A?@!5?g?C?G?C?G?@?_?D
!3?C?G!3?a!3?G!5?O!3?@!9?a?@?g?S?G?P?A!3?A!9?@?G!11?a?O!15?O
?A!3?G!3?G!3?A!5?C!3?P?_!3?G?S!5?_!3?I?O!3?D!3?@?G!5?S!3?@?_
!3?G?C?_!3?a!5?C!3?@?G?S?G!19?g!5?S!5?G?O?G?C?a?@!5?G?S?A!3?
G?O!5?_!5?O?_!3?A!3?_?O!7?@!5?_?C!3?@?G!3?g!5?@?g!3?_?C?_?@?
_?C!3?C?_?C?_?C?_-
!154?g!5?@?A?@?G?O!7?C!3?@!3?D?A?@!3?O?G!11?G?@!15?@?G?P?_!3
?A!3?_?P!5?I?O?G!5?@?_!5?C?A?@!3?C?G?@!3?@!3?C!9?G?S!3?O!5?i
!5?C?A?@!5?G?D?A?@?_!3?G?@?_!5?O?G?C?A!3?I?O!3?O!3?@!3?O?G!7
?_!3?G?C?a!5?C!3?C?_?@!7?C!5?i?C!3?P!3?@?G?O!3?C!11?C!7?C?G!
7?G!3?g?@!3?C!5?G?C!9?G?@!3?@?g!17?@?a?C?G?O!3?@?A?D?G!3?_!7
?_-
!152?@!5?_!11?g?D?A?C!3?@!5?A!3?_!5?D?G!3?G?O?G?@!5?_?@?_!5?
D?_?O?G?D?A?D?_?O!3?C!15?S!9?_!5?C!5?a!5?O?_?@!9?A!3?G!7?_!3
?I?C!3?@?_!11?A!3?_?C!9?G!5?O!3?@?_?O?G?D?a?@!7?S?_!3?G?C?G?
T!3?@?A!3?G!7?a?C!3?P?a!9?C?a!3?G?O!9?G?S?g?@?_?C!5?_?C!3?C?
G?S!3?@!3?C?_!3?G!5?C!7?D?_?@?g?C?g?@!3?C!5?G?C?A!3?_?S?_?@?
A?C!3?C?_-
!156?O?_?C?A!9?D?A?C?_!11?_!3?g?@!3?C?_?O!7?C?g?P?_?C!9?_!3?
A?D!3?P?_?@!5?g!3?G?D?G?C!5?a?@?G?O!3?C!7?C!3?D!3?@?a!3?G?C?
a!3?G!9?@?G?O!3?D?a!3?A!11?a?C?G!3?A!3?g?S!3?O!3?@!5?G?@!5?g
!5?C?_!3?G?O!3?O?_!7?G?@?A!3?i?O!7?@?_?C!5?A?@!3?S?_?C!13?A?
C?G!3?G!5?C?_?S!13?_?C?_?C?G!3?G?C!9?_!3?A!5?O?G!3?_!3?_?O?G
?@!5?G?C-
!156?@?G!3?G?D?G?O!7?@?G?O!9?G!3?_?@?G!3?_!3?g!5?@!3?O!3?C?G
?C?G!3?G!3?G!5?O?G?C?G!5?@?G!7?_!11?_?O?A?@!3?C!3?O?_!3?A?C!
3?@!5?_?C!3?@?a?@!9?A!3?G?O!3?D?A?@?g?O?G?S?A!3?i?S!3?@!5?A?
S!3?@!11?C?A!5?O?G?P?A?@!3?O?G!3?_?@?A?O!3?C?_!3?I?C?_!3?a?D
?_!3?_?@?_?C?_?O!3?D!5?_!5?@!3?C?_?C?g?@!5?_!3?g?D!3?@!11?C!
3?C?_!5?@?_!11?g!3?_-
!156?@?g?@?G!5?@!3?C?G!3?_!3?g!3?G?C!3?O!3?C!3?D!7?@!3?D!3?@
!3?@?G?C!5?_!7?G!3?_?C?G!5?P!3?@!3?@?g!3?_?C!3?D?G?P?G?C!3?C
?_!3?A!3?G!3?G?C!3?@?_!5?O!7?C?G?C?a?@?_?O?G?O?A?@!3?C!5?a!9
?@!5?I!5?O?_!3?g!3?G?O!7?O!5?a!5?C!5?a!5?O!3?@?_?C?_!3?_?@?_
!3?_!5?@?_?C?G!3?_?@!3?D?G!3?_?C?_?@!5?_?@?_?D!3?O?g!3?_!3?_
?O?_!3?a?@?_!3?g!9?O!7?@?G?C!3?@?_?C?_!3?G-
!166?G?O?_!3?G!5?O?G?@?I?@?_!3?_?C!3?C!11?C?g!3?_?@?A?C?G!3?
_!3?A!3?_!5?@!3?D!3?O?g!5?@!3?@!3?@!5?_!3?_?C!3?C!3?P?_!3?A?
C?_?@!3?@!5?G?C!5?_!3?G?C?a?@?I!3?G?D?_!3?G!5?O?a!3?G?S!3?@!
3?@?g?O!3?C?_?@?_!3?G?P!5?I!3?G?@!5?A?O?G?@?A?C?G?O?g!3?_?C?
G!7?A?@?G?C?G!11?G!3?_!3?_?C?G!3?A?@?G!3?_!5?C!5?G?C?A!5?C?_
!9?C!3?@?a!11?A!7?G!7?G?O?G-
!158?_!3?G?@?_!5?@!3?@!5?G?@?G!9?C?A!3?_!3?G!11?G?@?A?C!3?@!
3?C!3?C?_!3?g!3?A?@!3?@!3?D!3?@!3?@?G!3?G?@!9?I!3?_?@?_?D!5?
g?@?g!7?G?@?a?@?I?C!3?O?_!3?_?C!3?O!3?@?_?S?G?O?_!3?i?S!3?@!
3?@?A!3?G?D!3?@?I!5?O!5?_?S?_?C?_?C?G?C!3?D?a!3?g!5?C?A?C?G?
O?g!3?_!9?@?_?C?G?S!7?@!9?A?C!7?@!5?g?C!3?C?A?@?_!5?@?_?C!3?
O?_?C!3?@?G!11?g?O?g?D?A?@!5?_-
!154?G?@?G!3?A?@?_?P?_!3?G?@!5?_!5?@?G?O!5?G!5?O!3?@!5?_!3?G
!3?A?@?_?@?g?@?A?@?_?O!3?@?A!3?g!5?@!13?G!3?G?O?_?@?A?@!3?O?
G!5?@?_!11?g?P?g!7?_?P?a?@?A?O!5?_!3?a!3?G?C?A!3?g?S!3?S!5?_
?C?G?P?A!3?G!3?G?@?A!3?_!5?C!3?C!3?C?G!3?A?D?_?S!3?@!3?C!3?O
!3?@?A?C!7?@!3?C!3?C!3?C?A?@?G?C?G?C!3?C!9?_!3?G!3?_!3?_!5?C
!9?_?C!7?D?_?O?G!3?_?@!7?C!3?D!3?S-
!152?@!7?C!3?@?G!11?G?O!3?C!3?C?G?P?G!3?G?C!3?P!5?A!5?@?G!9?
O!7?@!3?O!3?@?I!5?@?G!3?A!5?O!7?@?G?P!5?I!7?G!13?D?I?C?G?@?G
?@?I?C!3?O!3?C?A!3?G?O?A?@!3?O?G?S?_!3?a?C!3?C!3?@?i?C?G?D?_
?C?G?O?_?@?_?@?G?O?g!3?a?@?_?O?G!3?_?C?_!7?A!3?_!3?_!7?G!5?@
!3?C?g?O?_?C!9?G?D!3?@?G!11?G!5?D!3?C!3?O!3?@?a!3?_!7?A?@?_!
7?A!3?g?C?_!3?a?@!3?C?G-
!152?C!7?@?G?C!3?@?_?D?G!3?g!3?g!5?@?G!3?G?@!3?D?G!3?g?D!9?g
?C?G?C?_!3?_!3?G?@?_!3?g?C?G?C!3?@!9?_!5?D!3?C?G!5?D?G!3?g!3
?_?D?G?@?g?@!3?C!3?C?g?@!3?C?G?@?G!3?G?@?G?C?G?@?g?D?G?C?g?P
?A?O?i?S?_?C?a?D?_!3?G?@?_?D?_?S?_?C!5?G!3?g?@?A!5?O!5?_!3?g
?S?_?D?a!9?@!9?G?C!3?D?_?O?G?@?_?D?g?C!3?C?_!3?G!3?_!3?A?@!3
?O?_!3?_?C?_?S?_!3?a?@!3?O!7?C?_!3?_!7?_?O!13?G-
!164?C!5?_!3?G?C!9?A!7?g!9?@!13?_!3?I!3?G?P!11?P!7?D!7?C?A?@
?G!3?G!7?_?O?_?@?G?@?G?P?_!3?I!5?O?G?D!3?D?_!3?g!5?C!3?@?G?C
!3?C?g!3?_?D?I?T!3?@?a?C?G!3?_?C!3?C?g?O?G?C!5?G?C?_?C?_!5?S
?G!5?C?_?C?G!9?O?g?C!5?g!3?G?C!5?_?C!3?C?_!5?O?G!3?_?C?G?S!7
?C?G?O?g?C!5?g!3?G?C!7?S?_!3?_!3?G?S?G!3?_?C!3?S?_!7?G?O?G!3
?_!3?G?O-
!152?C!5?_!3?I!3?_?@?_!7?_!3?G?@?A!3?_!5?@?A!3?_?P!5?G?@!13?
_?O!5?A?C?g?@?_?C!3?@?G?@?_?C?G!5?O?G!3?I?D?_?@?g?@!3?@?G!3?
_!5?C?G!3?g!9?@?_?@?I!3?g?O?g?@?I?O!3?@?_?C?A?C!5?i?C?I?O?_?
P?_?C?G!5?C!3?@?G!3?G?C?_?@?G?C?G?C?_?C?G!3?_?@?_!3?_!3?G?D!
5?g!3?g!7?G!3?G?@!5?_?C?G?D?_?C!15?C?G?@!3?D!5?g!3?_?C?G!7?_
!3?_!3?G?C?_!7?G!3?_?C?_!3?g?@!3?D?G-
!152?@!3?@?_?@!3?@?_!3?G!3?I!9?@?A?@!3?@!5?G!3?_?O!3?@?G!3?_
?O?_?D!9?_?D!5?_!7?A!3?g!3?g!3?G?C!3?O!3?D!7?P?G?C?A!5?@!3?@
?G?@?_?P?_?@?A?C?G?O!3?@!3?P!5?G!3?G?C!3?P?A?C?I!7?A?C?A?@!3
?O!3?C!3?O?_?@?A!3?G?O?_?D?A?C?_!9?C?_?O?G!5?@!3?S?G?@?_?C?G
?C?_!3?A?C!3?S?G?C?A!3?_!7?A?@!3?O?G!3?A!3?_?O!3?D?_!7?_?C?A
!5?O?g?@!5?_!3?_!5?C?G!3?G!3?A?@?_?S!3?D?a!5?O-
!152?@!7?C?G!9?@!7?O!7?C?G!3?_?@?I!3?_!11?G?P!3?C!3?@?G?O!5?
G!7?_?C?I?C!3?O!7?C!3?@?G!5?@?_!5?C?A?@?_!5?@?G?@?G?O?G?C?A!
3?_?@!3?C?G?@!3?@!5?G?@!3?O?g?C?I?@!5?g!3?A?C?_!3?a!3?I?@!5?
_!3?G!3?_?O!3?C!3?O?_?D?A!9?D?A?@!11?@?g!3?_?C?a?C?g!5?@?_?D
?G!3?G?D?A!7?_?@?_?@!3?C!5?a?@?_!11?G!3?_!3?A?@?G?C?_!3?A?@?
_!3?_?C!3?D!3?C!3?@!9?G-
!154?G!17?@?A?D!15?O?G?@?G!5?O!3?@?I?D?G?@?G?C?G!3?G!3?G?D!1
1?C!5?G?@?G!3?I?@?G!3?g?D?G?C?G!11?g!3?G!3?A?D!3?@!9?_?P?g!3
?A!3?_!3?G!11?A!3?G?O!5?g?C!3?D!3?O?a!3?I?O?_?O!3?C?A?P!3?P?
a!3?A?C!7?C!5?_?D!3?@!3?S?_!3?A!5?O!3?@!3?@?_?O?_?C?_?D!3?O?
_!5?C?_?C!3?D!5?_?C!7?C!7?@!7?O!3?C?A!9?D?a?D?_?C!3?D!13?A?@
!5?_-
!158?_?C!3?@!3?@!11?P!3?C?A?@?_!5?C!5?G!5?C!7?O!5?A?D?G!11?_
!5?@?G?@!3?O!5?A?C?G!7?A!3?g!5?D?A?T?_?@!7?@!5?G!5?@?_?P!5?A
?D?_?O?_!5?D!3?P?G?C?G?O!7?C?G?O?_?P?G?C?A?@?_!9?O?_?O?A!11?
I?C?A?C!3?@?_!3?G?O!7?C!5?G?D?A?@?_?C?g?C?A!3?G!3?G?@?a?C?G?
O?G!5?C!7?C?_!3?_?O!3?C!3?@?g!7?A?@!3?C!3?@?A!5?C?_?@?A!3?G?
O?_!3?_?C!3?O?G-
!152?D?_!3?_!5?C!5?g!5?C!3?P?g!3?A!9?D!3?@!5?G!3?A!5?@!5?A!5
?@?_!3?A?C?G?O!3?C?G!3?g!5?C!5?G?P!3?@?G?C!9?A!3?_?@?I?C!7?P
?a!3?A?O!3?P!7?P!5?A!3?A!5?P?_?C!3?C!5?G?C!3?@?_!3?A!3?G?S?_
!3?A!5?S!7?C!3?O!3?O?_!3?G?C?_!3?g!3?I!5?P?a!9?C!3?C?G?C?G!5
?D?G?O!7?C!5?_?D!5?_?S!5?A!3?g?O!3?C?a?D!7?C?_?@?G!5?@!3?C?G
!3?_?C?_!7?G!5?D?G?O?_-
!154?G?O!3?C!5?_!3?G?@!5?G?O!7?C!3?@!5?G?D?_?@?_!3?G?@!5?_?C
?A!9?C!3?C?G?O!7?D?_?@?G?C!3?S!5?_!3?G?@?_?P?A!11?G!5?T!5?a!
3?G!3?_?@?_?C!3?S!5?_!3?A?P!3?O?G?C?I?D!5?A?C?A?@!5?I?C!5?_?
@!7?@?_!7?G?P!3?P?I!3?G?C!3?O?a!5?T!3?P?_?C?G!7?a!3?G!7?A?C?
_!3?_!7?_?C!5?a?C!3?S!3?C?A?@!3?C!5?A!5?O!7?C!11?@!9?_!3?_?C
!3?C?_!5?O-
!154?g?@?G!3?G?@!13?G!5?D?G!3?G?O?_!7?G!5?C!3?@?G?O!7?C?_!5?
@?G?@?G!11?_!3?a!5?S?_?O!5?A!3?_!3?G!3?G?@!3?@!3?C!3?S?_!3?G
!7?_?@?A!3?G!3?_?P?A!3?A?@!5?_!5?P!5?i?C!3?O?_!3?g!3?A?C!5?a
!3?G?P!3?@?A!3?G!11?A?O!3?@?I?C!7?@?_!5?D?_?O?A?C!7?O!3?C!3?
O!3?C!3?@?_!3?_?C!3?@?g!3?g?@!3?@!3?C!17?_?C?g?C?_?@?_?@!5?G
!3?_?D?G?C!5?a!3?_-
!152?@!5?g?@!3?C!9?I!9?C!5?_!3?G!7?g!7?A!7?_?@!5?G!3?G!5?@!3
?@?I!5?O!5?_?C!3?O?_!3?A?C?G?@?_!7?G!3?_?O?_!5?@!3?@?a!5?S?_
?O?g?C?A?P!3?@?G!3?A?C!7?C?G?@!5?A!3?G?D!3?O!5?A?C?_?@?_!5?D
!5?G?C!7?@!5?A!7?A!9?@!5?G!3?_?O!5?A!3?_?O?g?C?I?S?_!7?G?O?_
?D!5?_?O!3?D?_!3?_!3?G!11?_?@?_?C?g?O?_?@?A?@?G?C!7?@?_?S!3?
C!7?C-
!152?C!3?O!19?C!7?@?G?@?_!3?_?C!3?D!5?G?@!7?O!3?D!3?P!7?C?G!
5?P?_!3?A?@?_?O?G!7?_?O?_!9?@?A!5?C!5?G!7?_!3?g!3?A!5?O!5?G?
@?_!3?A!3?G?C!3?@!3?C?I?S!5?_?C!3?S?_?@?A?C!3?@!3?O!7?@!5?A!
3?A?S!3?@!3?C?G?O!5?G?C!3?@?_!3?_?C?A?@!3?O?G!3?A?C?_!13?@?G
!3?I!3?_!3?_?C!3?O!9?G?O!3?D!5?_!3?_!9?C!13?G?@?A?C!3?O!3?C-

!152?D!7?@?I?D?G?O?g!5?@?G!9?@!3?@!5?G?@?_!3?G!3?A?D!5?_!3?A
!5?@?G!3?G!3?_?O?_!3?G?O?_!3?G!5?S!7?C?A?D!3?P!5?G?C?_?P?A!5
?@!3?P?_!3?A?S!3?O?G!5?D?_!7?I?P!5?_!5?C!5?A!3?G!7?_?C?G!3?_
?P?A!5?S!5?A!5?S!3?@!9?_?O?i!3?G?P!7?C!7?@?I!11?a?C?G!5?P!5?
I?C?_?@?_!5?O?_?P?_?C!5?_!5?@?g!3?G?C!3?C!3?S!3?D?_?@!3?C?G!
3?a?C!7?C!3?C?G?C?G-
!154?_?O?_?@!3?@!3?@?_?D?A!5?P?_!5?@?_?P!3?C!3?S!5?_!5?P!9?I
!3?_?O?A!5?C!3?P?i!9?P?A?C!3?@?_?@?G!3?G?O?_?P?I?C?A?@!3?O!3
?C!3?C!5?_!3?G!3?_?P?A?C?A?@!3?@?G!5?C!3?@?G?C?A!7?g?C?A!7?I
!5?O!7?C!3?C!9?A?@?_?P?G?C?A?@!3?O?A!3?A?P!5?G!3?G!3?_?@!3?C
?A?O!11?D?_?P!7?C!3?O?_?C?A?@!3?@?I!9?O!7?O!5?A!7?_!5?D?G!3?
G!3?A?@?_!9?@?G?C?_-
!152?@!3?@!3?C?G!3?g!3?G!3?G!3?G!3?_!3?I?C!5?A!3?G?@?_?O!3?C
?I?O?_?O?g?C!3?O!11?S!3?P!5?G?C!3?@?a!7?_?O?A!3?I?T?_!3?G!3?
G?P!3?@?_?C!3?O!9?A!5?@!5?G?O?_?P!7?C!3?O!7?O!5?i?C!3?O!5?A!
3?A?C!3?O!3?C!5?_?P!7?O?_!5?C?A?@!9?A!5?@?g!7?_?P!7?P!5?I!5?
D!5?G!9?@?_!3?A!3?_!7?G?C?_!3?a?C!7?O?A!7?_!3?A!3?_!3?G?C?A?
C!5?G!3?a!3?_!3?G-
!154?G!3?G!3?G!3?_?@?G?@?I?@!5?a!3?I!5?P!15?C!3?S?_!7?G!3?_?
O?g!3?G!5?@?A!3?G!3?_!3?G?C!3?S!7?C?A!3?_!9?@!7?C!3?@!3?@?a!
3?G?C!3?@?g!15?I?D!5?A!3?G?@!7?C!7?O?G!3?I!5?P?G!5?C?_?@?G?C
?A?S?_?@?A!3?G!5?O?I!9?@?i!3?A?S!5?_!5?@?_!3?_!5?P!3?@!3?C!3
?O!15?@?G!15?A?P!3?O?i!3?G!7?A!3?G!5?@!5?G?C!3?D!7?C-
!152?C?g!3?_!3?I?P?_!3?G!5?P!5?G!5?@!3?O!5?A!5?O?A!5?D!3?P?_
!15?G?C?_?@?G!5?@!3?@!7?P!3?O!7?@!5?g?C?G?S!5?g?C!3?C!5?G!5?
@!13?_?O!5?I!5?@?A?C?A?O!7?C!3?O!3?@?_?C?A!5?@!5?A?@!5?_!5?C
!5?A!3?A!3?_?@!13?_?C?A!9?C?G!3?_?O?_!3?I!17?@!7?D?_?O!9?_?P
!3?C!9?A!3?A?P!3?O?A?C!3?S!3?@?_!5?O!7?C!5?G-
!156?@!7?C!19?C?A?@!11?@!5?A!9?@!7?C!5?A?C?A?@!11?C!3?@!13?A
?C?A?@!9?A!5?@!19?@!5?A!11?A!15?A?C!5?A?C?A!9?C!3?C!5?A!11?A
?C!7?@!5?A!5?@!11?@?A!3?A?D!19?C!13?A!5?@!3?C!3?@!3?@!3?C!3?
@!5?A!13?C?A!5?@!17?A-
-
-
-
-
-
\
154.3HARE::STANMon Sep 24 1984 23:54111
C
C	Here's a version where the primes of the form 6k+1 and the primes
C	of the form 6k-1 are colored with two different colors (red and green).
C
	PROGRAM PRIMEPLOTCOLOR
	IMPLICIT INTEGER*4(A-Z)
	PARAMETER (TOP=57600)
	LOGICAL*1 PRIMES(TOP)
C
C	Plots primes in a spiral on a VT125.
C
C	Stanley Rabinowitz
C
C	The numbers from 1 to 57600 are drawn in a spiral as follows:
C
C
C              17  16  15  14  13
C              18   5   4   3  12
C	       19   6   1   2  11
C              20   7   8   9  10
C              21  22  23  24  25
C
C	Each prime is displayed as a dot; composite numbers are not displayed.
C	Interesting unexpected patterns are seen.
C	Primes of the form 6k+1 are colored differently from primes of
C	the form 6k-1.
C
	BYTE DELTAX(4) /+1, 0,-1, 0/
	BYTE DELTAY(4) / 0,+1, 0,-1/
	CALL SIEVE(PRIMES,TOP)
	CALL CLEAR
	X=0
	Y=0
	POS=1
	NUMBER=1
	DO 2 K=1,TOP
C
C	Right k, Up k, Left k+1, Down k+1, etc.
C
	DO 2 JJ=1,2
	DO 3 J=1,K
	IF (NUMBER.EQ.TOP) GOTO 50
	NUMBER=NUMBER+1
	X=X+DELTAX(POS)
	Y=Y+DELTAY(POS)
	IF (PRIMES(NUMBER)) THEN
		REM=MOD(NUMBER,6)
		IF (REM.EQ.1) THEN
			CALL PLOT(X,Y,'R')
		ELSE
			CALL PLOT(X,Y,'G')
		END IF
	END IF
3	CONTINUE
	POS=POS+1
	IF (POS.EQ.5) POS=1
2	CONTINUE
50	TYPE 100, 27
100	FORMAT(1X,A1,'\')
	CALL EXIT
	END

	SUBROUTINE SIEVE(PRIMES,TOP)
	IMPLICIT INTEGER*4(A-Z)
	LOGICAL*1 PRIMES(TOP)
C
C	Calculate primes to 40,000 using Sieve of Eratosthenes.
C	For purposes of this program, treat 1 as a prime.
C
	INTEGER*2 PR(7)
	DATA PR/3,5,7,11,13,17,19/
	DO I=2,TOP,2
	PRIMES(I-1)=.TRUE.
	PRIMES(I)=.FALSE.
	END DO
	DO 2 I=1,7
	P=PR(I)
	DO 3 J=3*P,TOP,2*P
3	PRIMES(J)=.FALSE.
2	CONTINUE
	DO 4 I=3,300,2
	IF (.NOT.PRIMES(I)) GOTO 4
	DO 5 J=3*I,TOP,2*I
5	PRIMES(J)=.FALSE.
4	CONTINUE
	RETURN
	END

	SUBROUTINE CLEAR
	IMPLICIT INTEGER*4(A-Z)
	ESC=27
	TYPE 100, ESC,ESC,ESC
100	FORMAT(1X,A1,'[H',A1,'[2J',A1,'P1ps(M0(L0)(AL0))S(I0)S(E)S[0,0]')
	RETURN
	END

	SUBROUTINE PLOT(X,Y,COLOR)
	IMPLICIT INTEGER*4(A-Z)
	PARAMETER (XOFFSET=350)
	PARAMETER (YOFFSET=240)
	CHARACTER*1 PREV_COLOR/'X'/
	CHARACTER*1 COLOR
	IF (COLOR.NE.PREV_COLOR) THEN
		TYPE 101, COLOR
101		FORMAT('+W(I(',A1,$,'))')
		PREV_COLOR=COLOR
	END IF
	TYPE 100, 2*X+XOFFSET,480-2*Y-YOFFSET
100	FORMAT(' P[',I3,',',I3,']V[]')
	RETURN
	END
154.4historical background on thisALLVAX::JROTHIt's a bush recording...Tue Oct 02 1990 08:3834
Path: ryn.esg.dec.com!shlump.nac.dec.com!bacchus.pa.dec.com!decuac!haven!cvl!herve
From: [email protected] (Jean-Yves Herve')
Newsgroups: sci.math
Subject: Re: Pictures of primes in the plane
Keywords: Prime numbers
Date: 1 Oct 90 22:08:00 GMT
References: <[email protected]>
Reply-To: [email protected] (Jean-Yves Herve')
Organization: Center for Automation Research, Univ. of Md.
 
In article <[email protected]> [email protected] (Cleve Moler) writes:
>When we were both graduate students in early '60s, Larry Breed
>showed me a fascinating image he had generated that displayed
>some interesting properties of prime numbers.  Since then, I've
... 
>Number the points in the plane with integer coordinates in a
>"square spiral" pattern as follows:
... 
>Whose idea was this?
 
>   -- Cleve Moler
>   [email protected]
 
I remember seing this pattern called the Ulam Spiral (as in Stanislaw M. Ulam).
Don't know of any reference, though.
 
Jean-Yves.
 
-------------------------------------------------------------------
 Jean-Yves Herve'             
 Computer Vision Laboratory		[email protected]
 Center for Automation Research           
 University of Maryland
-------------------------------------------------------------------