Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
12
Task/Floyds-triangle/Ada/floyds-triangle.adb
Normal file
12
Task/Floyds-triangle/Ada/floyds-triangle.adb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Command_Line;
|
||||
|
||||
procedure Floyd_Triangle is
|
||||
rows : constant Natural := Natural'Value(Ada.Command_Line.Argument(1));
|
||||
begin
|
||||
for r in 1..rows loop
|
||||
for i in 1..r loop
|
||||
Ada.Integer_Text_IO.put (r*(r-1)/2+i, Width=> Natural'Image(rows*(rows-1)/2+i)'Length);
|
||||
end loop;
|
||||
Ada.Text_IO.New_Line;
|
||||
end loop;
|
||||
end Floyd_Triangle;
|
||||
69
Task/Floyds-triangle/COBOL/floyds-triangle.cob
Normal file
69
Task/Floyds-triangle/COBOL/floyds-triangle.cob
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. FLOYD-TRIANGLE.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
01 VARIABLES COMP.
|
||||
02 NUM-LINES PIC 99.
|
||||
02 CUR-LINE PIC 99.
|
||||
02 CUR-COL PIC 99.
|
||||
02 CUR-NUM PIC 999.
|
||||
02 ZERO-SKIP PIC 9.
|
||||
02 LINE-PTR PIC 99.
|
||||
02 MAX-NUM PIC 999.
|
||||
|
||||
01 OUTPUT-FORMAT.
|
||||
02 OUT-LINE PIC X(72).
|
||||
02 ONE-DIGIT PIC B9.
|
||||
02 TWO-DIGITS PIC BZ9.
|
||||
02 THREE-DIGITS PIC BZZ9.
|
||||
02 MAX-COL-NUM PIC 999.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
BEGIN.
|
||||
MOVE 5 TO NUM-LINES. PERFORM FLOYD.
|
||||
DISPLAY ' '.
|
||||
MOVE 14 TO NUM-LINES. PERFORM FLOYD.
|
||||
STOP RUN.
|
||||
|
||||
FLOYD.
|
||||
MOVE 1 TO CUR-NUM.
|
||||
COMPUTE MAX-NUM = NUM-LINES * (NUM-LINES + 1) / 2.
|
||||
PERFORM FLOYD-LINE
|
||||
VARYING CUR-LINE FROM 1 BY 1
|
||||
UNTIL CUR-LINE IS GREATER THAN NUM-LINES.
|
||||
|
||||
FLOYD-LINE.
|
||||
MOVE ' ' TO OUT-LINE.
|
||||
MOVE 1 TO LINE-PTR.
|
||||
PERFORM FLOYD-NUM
|
||||
VARYING CUR-COL FROM 1 BY 1
|
||||
UNTIL CUR-COL IS GREATER THAN CUR-LINE.
|
||||
DISPLAY OUT-LINE.
|
||||
|
||||
FLOYD-NUM.
|
||||
COMPUTE MAX-COL-NUM = MAX-NUM - NUM-LINES + CUR-COL.
|
||||
MOVE 0 TO ZERO-SKIP.
|
||||
INSPECT MAX-COL-NUM TALLYING ZERO-SKIP FOR LEADING '0'.
|
||||
IF ZERO-SKIP IS EQUAL TO ZERO
|
||||
PERFORM FLOYD-THREE-DIGITS
|
||||
ELSE IF ZERO-SKIP IS EQUAL TO 1
|
||||
PERFORM FLOYD-TWO-DIGITS
|
||||
ELSE IF ZERO-SKIP IS EQUAL TO 2
|
||||
PERFORM FLOYD-ONE-DIGIT.
|
||||
ADD 1 TO CUR-NUM.
|
||||
|
||||
FLOYD-ONE-DIGIT.
|
||||
MOVE CUR-NUM TO ONE-DIGIT.
|
||||
STRING ONE-DIGIT DELIMITED BY SIZE INTO OUT-LINE
|
||||
WITH POINTER LINE-PTR.
|
||||
|
||||
FLOYD-TWO-DIGITS.
|
||||
MOVE CUR-NUM TO TWO-DIGITS.
|
||||
STRING TWO-DIGITS DELIMITED BY SIZE INTO OUT-LINE
|
||||
WITH POINTER LINE-PTR.
|
||||
|
||||
FLOYD-THREE-DIGITS.
|
||||
MOVE CUR-NUM TO THREE-DIGITS.
|
||||
STRING THREE-DIGITS DELIMITED BY SIZE INTO OUT-LINE
|
||||
WITH POINTER LINE-PTR.
|
||||
16
Task/Floyds-triangle/Frink/floyds-triangle.frink
Normal file
16
Task/Floyds-triangle/Frink/floyds-triangle.frink
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
FloydsTriangle[rows] :=
|
||||
{
|
||||
result = new array
|
||||
n = 1
|
||||
for r = 1 to rows
|
||||
{
|
||||
result.push[array[n to n+r-1]]
|
||||
n = n + r
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
println[formatTable[FloydsTriangle[5], "right"]]
|
||||
println[]
|
||||
println[formatTable[FloydsTriangle[14], "right"]]
|
||||
18
Task/Floyds-triangle/Pluto/floyds-triangle.pluto
Normal file
18
Task/Floyds-triangle/Pluto/floyds-triangle.pluto
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
local fmt = require "fmt"
|
||||
|
||||
local function floyd(n)
|
||||
local k = 1
|
||||
for i = 1, n do
|
||||
for j = 1, i do
|
||||
local l = (j < 9) ? 2 : 3
|
||||
fmt.write($"%{l}d ", k)
|
||||
k += 1
|
||||
end
|
||||
print()
|
||||
end
|
||||
end
|
||||
|
||||
print("Floyd(5):")
|
||||
floyd(5)
|
||||
print("\nFloyd(14):")
|
||||
floyd(14)
|
||||
|
|
@ -1,11 +1,6 @@
|
|||
Floyd ← ⊜□▽.⟜(+1⇡/+)+1⇡
|
||||
Print ← (
|
||||
⬚""≡°⋕ # Stringify terms
|
||||
/↥≡◇⧻♭. # Get max length
|
||||
≡≡◇⬚@ ↙¯ # Pad strings
|
||||
≡(&p/$"_ _") # Print
|
||||
F ← (
|
||||
⟜(⬚@\s°⋕+1⇡/+)+1⇡ # Generate, stringify and pad terms.
|
||||
↘1⊕□∧(˜⊂˙↯)⊙[] # Group as triangle.
|
||||
≡◇(&p/$"_ _") # Join and print.
|
||||
)
|
||||
|
||||
Print Floyd 4
|
||||
&p""
|
||||
Print Floyd 14
|
||||
F 14 &p"" F 4
|
||||
|
|
|
|||
15
Task/Floyds-triangle/VBScript/floyds-triangle.vbs
Normal file
15
Task/Floyds-triangle/VBScript/floyds-triangle.vbs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
' Read the number of rows to use..
|
||||
intRows = WScript.StdIn.ReadLine
|
||||
|
||||
' Get the first number of the final row so we can calculate widths...
|
||||
intLastRowStart = (intRows ^ 2 - intRows) \ 2 + 1
|
||||
|
||||
For i = 1 To intRows
|
||||
intLastRow = intLastRowStart
|
||||
For j = 1 To i
|
||||
k = k + 1
|
||||
WScript.StdOut.Write Space(Len(intLastRow) - Len(k)) & k & " "
|
||||
intLastRow = intLastRow + 1
|
||||
Next
|
||||
WScript.StdOut.WriteLine ""
|
||||
Next
|
||||
Loading…
Add table
Add a link
Reference in a new issue