Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
67
Task/Heronian-triangles/ERRE/heronian-triangles.erre
Normal file
67
Task/Heronian-triangles/ERRE/heronian-triangles.erre
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
PROGRAM HERON
|
||||
|
||||
DIM LISTA%[600,4]
|
||||
|
||||
PROCEDURE GCD(J%,K%->MCD%)
|
||||
WHILE J%<>K% DO
|
||||
IF J%>K% THEN
|
||||
J%=J%-K%
|
||||
ELSE
|
||||
K%=K%-J%
|
||||
END IF
|
||||
END WHILE
|
||||
MCD%=J%
|
||||
END PROCEDURE
|
||||
|
||||
BEGIN
|
||||
PRINT(CHR$(12);) !CLS
|
||||
FOR C%=1 TO 200 DO
|
||||
FOR B%=1 TO C% DO
|
||||
FOR A%=1 TO B% DO
|
||||
S#=(A%+B%+C%)/2#
|
||||
AREA#=S#*(S#-A%)*(S#-B%)*(S#-C%)
|
||||
IF AREA#>0 THEN
|
||||
AREA#=SQR(AREA#)
|
||||
IF AREA#=INT(AREA#) THEN
|
||||
GCD(B%,C%->RES%)
|
||||
GCD(A%,RES%->RES%)
|
||||
IF RES%=1 THEN
|
||||
COUNT%=COUNT%+1
|
||||
LISTA%[COUNT%,0]=A% LISTA%[COUNT%,1]=B% LISTA%[COUNT%,2]=C%
|
||||
LISTA%[COUNT%,3]=2*S# LISTA%[COUNT%,4]=AREA#
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
END FOR
|
||||
END FOR
|
||||
|
||||
PRINT("Number of triangles:";COUNT%)
|
||||
|
||||
! sorting array
|
||||
FLIPS%=TRUE
|
||||
WHILE FLIPS% DO
|
||||
FLIPS%=FALSE
|
||||
FOR I%=1 TO COUNT%-1 DO
|
||||
IF LISTA%[I%,4]>LISTA%[I%+1,4] THEN
|
||||
FOR K%=0 TO 4 DO
|
||||
SWAP(LISTA%[I%,K%],LISTA%[I%+1,K%])
|
||||
END FOR
|
||||
FLIPS%=TRUE
|
||||
END IF
|
||||
END FOR
|
||||
END WHILE
|
||||
|
||||
! first ten
|
||||
FOR I%=1 TO 10 DO
|
||||
PRINT(#1,LISTA%[I%,0],LISTA%[I%,1],LISTA%[I%,2],LISTA%[I%,3],LISTA%[I%,4])
|
||||
END FOR
|
||||
PRINT
|
||||
|
||||
! triangle with area=210
|
||||
FOR I%=1 TO COUNT% DO
|
||||
IF LISTA%[I%,4]=210 THEN
|
||||
PRINT(LISTA%[I%,0],LISTA%[I%,1],LISTA%[I%,2],LISTA%[I%,3],LISTA%[I%,4])
|
||||
END IF
|
||||
END FOR
|
||||
END PROGRAM
|
||||
Loading…
Add table
Add a link
Reference in a new issue