Data update

This commit is contained in:
Ingy döt Net 2026-04-30 12:34:36 -04:00
parent 4bb20c9b71
commit cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions

View 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;

View 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;

View 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;

View 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)))))

View 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))))

View 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))

View 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

View file

@ -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

View 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.

View 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.

View 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;
}

View 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)

View 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++
}

View file

@ -0,0 +1,2 @@
Pascal ← ⍥(⊙□+⊸⊃˜⊂⊂ 0)⊙[1]
≡&p Pascal 9

View 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