16,748
社区成员
发帖
与我相关
我的任务
分享
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Panel1: TPanel;
LabeledEdit1: TLabeledEdit;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
yh:array of array of Integer;
procedure yhTriangle(row:Integer);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
s:TStrings;
ss:string;
r,I,J: Integer;
begin
try
r:=StrToInt(LabeledEdit1.Text);
except
r:=0;
ShowMessage('只能输入数字');
LabeledEdit1.Clear;
LabeledEdit1.SetFocus;
end;
yhTriangle(r);
s:=TStringList.Create;
for I := 0 to r - 1 do
begin
ss:='';
for J := Low(yh[i]) to High(yh[i]) do
ss:=ss+IntToStr(yh[i][j])+' ';
s.Add(Trim(ss));
end;
Memo1.Lines:=s;
s.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.yhTriangle(row:Integer);
var
i: Integer;
j: Integer;
begin
//开辟空间
SetLength(yh,row);
for i:= Low(yh) to High(yh) do
begin
SetLength(yh[i],i+1);
end;
//填充
for i := Low(yh) to High(yh) do
for j := Low(yh[i]) to High(yh[i]) do
begin
if (j=Low(yh[i])) or (i=j) then
yh[i][j]:=1
else
yh[i][j]:=yh[i-1][j-1]+yh[i-1][j];
end;
end;
end.
<html>
<head>
<title>Untitled</title>
<SCRIPT language="JavaScript">
/*
Example 1:
in: 1
out: 1 1
Example 2:
in: 1 1
out: 1 2 1
Example 3:
in: 1 2 1
out: 1 3 3 1
...
*/
function nextLine (thisLine)
{
var inArr = thisLine;
var outArr = new Array ();
for (var i = 0; i <= inArr.length; i++)
{
if (i == 0 || i == inArr.length)
{
outArr[i] = 1;
}
else
{
outArr[i] = inArr[i - 1] + inArr[i];
}
}
return outArr;
}
/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
*/
function yhTriangle (n)
{
var Triangle = new Array ();
Triangle[0] = new Array ();
Triangle[0][0] = 1;
//alert (Triangle[0][0]);
for (var i = 1; i < n; i++)
{
Triangle[i] = nextLine (Triangle[i - 1]);
}
return printArr (Triangle);
}
function printArr (arr)
{
var str = '';
for (var i = 0; i < arr.length; i++)
{
for (var j = 0; j < arr[i].length; j++)
{
str += arr[i][j] + ' ';
}
str += '\n';
}
return (str);
}
</SCRIPT>
</head>
<body>
<label>lines:</label>
<input type="Text" id="txtN" name="txtN" value="15">
<input type="submit" id="ud" name="ud" value="calculate" onclick="document.getElementById ('outTxa').value = yhTriangle (document.getElementById('txtN').value);">
<br>
<textarea id="outTxa" name="outTxa" style="width:100%; height:100%"></textarea>
</body>
</html>
procedure TForm1.yhTriangle(row: Integer);
var
i, j: Integer;
begin
SetLength(yh, row);
for i := 0 to row - 1 do
begin
SetLength(yh[i], i + 1);
yh[i][0] := 1;
yh[i][i] := 1;
for j := 1 to i - 1 do
yh[i][j] := yh[i-1][j-1] + yh[i-1][j];
end;
end;