1DIMX(256),Y(256) 10 DATA 28,28,5.65686,-13.6569,0,-8.00001,-2.34315,-5.65686 11 DATA -4,-4,-5.65686,-2.34315,-8.00001,0,-13.6569,5.65686 100 REM INSERT VALUE OF "G" HERE 105 G=3 110 LET N=2^G 120 LET P=8*ATN(1)/N 130 FOR I=1 TO N 140 READ X(I),Y(I) 150 LET X(I)=X(I)/N 160 LET Y(I)=Y(I)/N 170 NEXT I 180 FOR L=0 TO G-1 190 LET G1=2^(G-L-1) 200 LET M=0 210 FOR I=1 TO 2^L 220 LET K1=INT(M/G1) 230 GOSUB 530 240 LET Y1=COS(P*K2) 250 LET Y2=-SIN(P*K2) 260 FOR J=1 TO G1 270 LET Y3=X(M+G1+1)*Y1-Y(M+G1+1)*Y2 280 LET Y4=X(M+G1+1)*Y2+Y(M+G1+1)*Y1 290 LET X(M+G1+1)=X(M+1)-Y3 300 LET Y(M+G1+1)=Y(M+1)-Y4 310 LET X(M+1)=X(M+1)+Y3 320 Y(M+1)=Y(M+1)+Y4 335 M=M+1 340 NEXT J 350 LET M=M+G1 360 NEXT I 370 NEXT L 380 FOR I=0 TO N-1 390 LET K1=I 400 GOSUB 530 410 IF K2 >= I THEN 480 420 LET K3=X(I+1) 430 LET X(I+1)=X(K2+1) 440 LET X(K2+1)=K3 450 LET K3=Y(I+1) 460 LET Y(I+1)=Y(K2+1) 470 LET Y(K2+1)=K3 480 NEXT I 490 FOR I=0 TO N-1 500 PRINT I;X(I+1),"+J"Y(I+1) 510 NEXT I 520 GOTO 610 530 LET K2=0 540 FOR K=1 TO G 550 LET K3=INT(K1/2) 560 LET K2=2*(K2-K3)+K1 570 LET K1=K3 590 NEXT K 600 RETURN 610 END