Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
11
Task/Pascals-triangle/Ada/pascals-triangle-1.adb
Normal file
11
Task/Pascals-triangle/Ada/pascals-triangle-1.adb
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
package Pascal is
|
||||
|
||||
type Row is array (Natural range <>) of Natural;
|
||||
|
||||
function Length(R: Row) return Positive;
|
||||
|
||||
function First_Row(Max_Length: Positive) return Row;
|
||||
|
||||
function Next_Row(R: Row) return Row;
|
||||
|
||||
end Pascal;
|
||||
26
Task/Pascals-triangle/Ada/pascals-triangle-2.adb
Normal file
26
Task/Pascals-triangle/Ada/pascals-triangle-2.adb
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
package body Pascal is
|
||||
|
||||
function First_Row(Max_Length: Positive) return Row is
|
||||
R: Row(0 .. Max_Length) := (0 | 1 => 1, others => 0);
|
||||
begin
|
||||
return R;
|
||||
end First_Row;
|
||||
|
||||
function Next_Row(R: Row) return Row is
|
||||
S: Row(R'Range);
|
||||
begin
|
||||
S(0) := Length(R)+1;
|
||||
S(Length(S)) := 1;
|
||||
for J in reverse 2 .. Length(R) loop
|
||||
S(J) := R(J)+R(J-1);
|
||||
end loop;
|
||||
S(1) := 1;
|
||||
return S;
|
||||
end Next_Row;
|
||||
|
||||
function Length(R: Row) return Positive is
|
||||
begin
|
||||
return R(0);
|
||||
end Length;
|
||||
|
||||
end Pascal;
|
||||
18
Task/Pascals-triangle/Ada/pascals-triangle-3.adb
Normal file
18
Task/Pascals-triangle/Ada/pascals-triangle-3.adb
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Command_Line, Pascal; use Pascal;
|
||||
|
||||
procedure Triangle is
|
||||
|
||||
Number_Of_Rows: Positive := Integer'Value(Ada.Command_Line.Argument(1));
|
||||
Row: Pascal.Row := First_Row(Number_Of_Rows);
|
||||
|
||||
begin
|
||||
loop
|
||||
-- print one row
|
||||
for J in 1 .. Length(Row) loop
|
||||
Ada.Integer_Text_IO.Put(Row(J), 5);
|
||||
end loop;
|
||||
Ada.Text_IO.New_Line;
|
||||
exit when Length(Row) >= Number_Of_Rows;
|
||||
Row := Next_Row(Row);
|
||||
end loop;
|
||||
end Triangle;
|
||||
10
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-1.el
Normal file
10
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-1.el
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
(require 'cl-lib)
|
||||
|
||||
(defun next-row (row)
|
||||
(cl-mapcar #'+ (cons 0 row)
|
||||
(append row '(0))))
|
||||
|
||||
(defun triangle (row rows)
|
||||
(if (= rows 0)
|
||||
'()
|
||||
(cons row (triangle (next-row row) (- rows 1)))))
|
||||
8
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-2.el
Normal file
8
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-2.el
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
(defun pascal (r)
|
||||
(dotimes (i r)
|
||||
(let ((c 1))
|
||||
(dotimes (k (+ i 1))
|
||||
(princ (format "%d " c))
|
||||
(setq c (/ (* c (- i k))
|
||||
(+ k 1))))
|
||||
(terpri))))
|
||||
10
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-3.el
Normal file
10
Task/Pascals-triangle/Emacs-Lisp/pascals-triangle-3.el
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
(defun pascal (r)
|
||||
(let ((out ""))
|
||||
(dotimes (i r)
|
||||
(let ((c 1))
|
||||
(dotimes (k (+ i 1))
|
||||
(setq out (concat out (format "%d " c)))
|
||||
(setq c (/ (* c (- i k))
|
||||
(+ k 1))))
|
||||
(setq out (concat out "\n"))))
|
||||
out))
|
||||
10
Task/Pascals-triangle/Euphoria/pascals-triangle.eu
Normal file
10
Task/Pascals-triangle/Euphoria/pascals-triangle.eu
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
sequence row
|
||||
row = {}
|
||||
for m = 1 to 10 do
|
||||
row = row & 1
|
||||
for n = length(row)-1 to 2 by -1 do
|
||||
row[n] += row[n-1]
|
||||
end for
|
||||
print(1,row)
|
||||
puts(1,'\n')
|
||||
end for
|
||||
|
|
@ -1,12 +1,5 @@
|
|||
let rec nextrow l =
|
||||
match l with
|
||||
| [] -> []
|
||||
| h :: [] -> [1]
|
||||
| h :: t -> h + t.Head :: nextrow t
|
||||
|
||||
let pascalTri n = List.scan(fun l i -> 1 :: nextrow l) [1] [1 .. n]
|
||||
|
||||
for row in pascalTri(10) do
|
||||
for i in row do
|
||||
printf "%s" (i.ToString() + ", ")
|
||||
printfn "%s" "\n"
|
||||
// Pascal's triangle. Nigel Galloway: April 17th., 2026
|
||||
let rec nextrow n g=match n with n :: [] -> [g] | n :: t -> n + t.Head :: nextrow t g
|
||||
let PascalTri n = List.scan(fun (n,g) _ -> 1 :: nextrow n g,1) ([1],1) [1 .. n]|>List.map fst
|
||||
let rec fN=function n::[]->printfn "%d" n |n::g->printf "%d," n; fN g
|
||||
PascalTri(10)|>List.iter fN
|
||||
|
|
|
|||
25
Task/Pascals-triangle/Modula-3/pascals-triangle.mod3
Normal file
25
Task/Pascals-triangle/Modula-3/pascals-triangle.mod3
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
MODULE Main;
|
||||
|
||||
IMPORT SIO,Fmt;
|
||||
|
||||
PROCEDURE PrintLine(READONLY N:INTEGER) =
|
||||
VAR M:INTEGER;
|
||||
BEGIN
|
||||
IF N < 1 THEN RETURN END;
|
||||
M := 1;
|
||||
SIO.PutText("1 ");
|
||||
FOR I := 1 TO N-1 DO
|
||||
M := M * (N-I) DIV I;
|
||||
SIO.PutText(Fmt.F("%s ",Fmt.Int(M)))
|
||||
END;
|
||||
SIO.Nl()
|
||||
END PrintLine;
|
||||
|
||||
PROCEDURE Print(READONLY N:INTEGER) =
|
||||
BEGIN
|
||||
FOR I := 1 TO N DO PrintLine(I) END;
|
||||
END Print;
|
||||
|
||||
BEGIN
|
||||
Print(10)
|
||||
END Main.
|
||||
28
Task/Pascals-triangle/PascalABC.NET/pascals-triangle.pas
Normal file
28
Task/Pascals-triangle/PascalABC.NET/pascals-triangle.pas
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
procedure Pascal(r: Integer);
|
||||
var
|
||||
triangle: array of array of Integer; // Зубчатый массив
|
||||
|
||||
begin
|
||||
SetLength(triangle, r);
|
||||
for var i := 0 to r - 1 do
|
||||
begin
|
||||
SetLength(triangle[i], i + 1);
|
||||
triangle[i][0] := 1;
|
||||
triangle[i][i] := 1;
|
||||
|
||||
if i > 1 then
|
||||
for var j := 1 to i - 1 do
|
||||
triangle[i][j] := triangle[i - 1][j - 1] + triangle[i - 1][j];
|
||||
end;
|
||||
|
||||
for var i := 0 to r - 1 do
|
||||
begin
|
||||
write(StringOfChar(' ', (r - i) * 2));
|
||||
for var j := 0 to i do
|
||||
write(triangle[i][j]:4);
|
||||
writeln;
|
||||
end;
|
||||
end;
|
||||
begin
|
||||
Pascal(13); // Генерация треугольника Паскаля
|
||||
end.
|
||||
11
Task/Pascals-triangle/Perl/pascals-triangle-5.pl
Normal file
11
Task/Pascals-triangle/Perl/pascals-triangle-5.pl
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use strict; # https://rosettacode.org/wiki/Pascal%27s_triangle
|
||||
|
||||
regexpascal($_), print "\n" for 7, 16, 0, -1;
|
||||
|
||||
sub regexpascal
|
||||
{
|
||||
local $_ = "1\n";
|
||||
print, s/^/0 /, s/(\d+)(?= (\d+))/$1 + $2/ge for ($_) x shift;
|
||||
}
|
||||
15
Task/Pascals-triangle/Pluto/pascals-triangle.pluto
Normal file
15
Task/Pascals-triangle/Pluto/pascals-triangle.pluto
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
local int = require "int"
|
||||
local fmt = require "fmt"
|
||||
|
||||
local function pascal_triangle(n)
|
||||
if n <= 0 then return end
|
||||
for i = 0, n - 1 do
|
||||
io.write(string.rep(" ", n - i - 1))
|
||||
for j = 0, i do
|
||||
fmt.write("%3d ", int.binomial(i, j))
|
||||
end
|
||||
print()
|
||||
end
|
||||
end
|
||||
|
||||
pascal_triangle(13)
|
||||
64
Task/Pascals-triangle/PowerShell/pascals-triangle.ps1
Normal file
64
Task/Pascals-triangle/PowerShell/pascals-triangle.ps1
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
$Infinity = 1
|
||||
$NewNumbers = $null
|
||||
$Numbers = $null
|
||||
$Result = $null
|
||||
$Number = $null
|
||||
$Power = $args[0]
|
||||
|
||||
Write-Host $Power
|
||||
|
||||
For(
|
||||
$i=0;
|
||||
$i -lt $Infinity;
|
||||
$i++
|
||||
)
|
||||
{
|
||||
$Numbers = New-Object Object[] 1
|
||||
$Numbers[0] = $Power
|
||||
For(
|
||||
$k=0;
|
||||
$k -lt $NewNumbers.Length;
|
||||
$k++
|
||||
)
|
||||
{
|
||||
$Numbers = $Numbers + $NewNumbers[$k]
|
||||
}
|
||||
If(
|
||||
$i -eq 0
|
||||
)
|
||||
{
|
||||
$Numbers = $Numbers + $Power
|
||||
}
|
||||
$NewNumbers = New-Object Object[] 0
|
||||
Try
|
||||
{
|
||||
For(
|
||||
$j=0;
|
||||
$j -lt $Numbers.Length;
|
||||
$j++
|
||||
)
|
||||
{
|
||||
$Result = $Numbers[$j] + $Numbers[$j+1]
|
||||
$NewNumbers = $NewNumbers + $Result
|
||||
}
|
||||
}
|
||||
Catch [System.Management.Automation.RuntimeException]
|
||||
{
|
||||
Write-Warning "Value was too large for a Decimal. Script aborted."
|
||||
Break;
|
||||
}
|
||||
Foreach(
|
||||
$Number in $Numbers
|
||||
)
|
||||
{
|
||||
If(
|
||||
$Number.ToString() -eq "+unendlich"
|
||||
)
|
||||
{
|
||||
Write-Warning "Value was too large for a Decimal. Script aborted."
|
||||
Exit
|
||||
}
|
||||
}
|
||||
Write-Host $Numbers
|
||||
$Infinity++
|
||||
}
|
||||
2
Task/Pascals-triangle/Uiua/pascals-triangle.uiua
Normal file
2
Task/Pascals-triangle/Uiua/pascals-triangle.uiua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
Pascal ← ⍥(⊙□+⊸⊃˜⊂⊂ 0)⊙[1]
|
||||
≡&p Pascal 9
|
||||
14
Task/Pascals-triangle/VBScript/pascals-triangle.vbs
Normal file
14
Task/Pascals-triangle/VBScript/pascals-triangle.vbs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Pascal_Triangle(WScript.Arguments(0))
|
||||
Function Pascal_Triangle(n)
|
||||
Dim values(100)
|
||||
values(1) = 1
|
||||
WScript.StdOut.Write values(1)
|
||||
WScript.StdOut.WriteLine
|
||||
For row = 2 To n
|
||||
For i = row To 1 Step -1
|
||||
values(i) = values(i) + values(i-1)
|
||||
WScript.StdOut.Write values(i) & " "
|
||||
Next
|
||||
WScript.StdOut.WriteLine
|
||||
Next
|
||||
End Function
|
||||
Loading…
Add table
Add a link
Reference in a new issue