當項數(n) = 50,值為多少
(2) 1+3+5+7+9...,
當項數(n) = 50,值為多少
(3) 2+4+6+8+10+...,
當項數(n) = 50,值為多少
(4) 1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...),
當項數(n) = 50,值為多少
(5) 1-2+3-4+5-6+7...,
當項數(n) = 50,值為多少
(6) 1+1/2+1/3+1/4+1/5+1/6+1/7......
當項數(n) = 10 值為多少? .
(7) 1-1/2+1/3-1/4+1/5-1/6+1/7-1/8......
當項數(n) = 10 值為多少?
(8) 1+2!+3!+4!+...+n!...
當項數(n) = 10 值為多少?
(9) (1)+(1+1/2)+(1+1/2+1/3)+(1+1/2+1/3+1/4)+(1+1/2+1/3+1/4+1/5)......
當項數(n) = 10 值為多少?
(10) 1+1/2+2/3+3/4+4/5...+(n-1)/n
當項數(n) = 10 值為多少?
var n : integer; //項數;
//----------------------------------------------------------
//(1) 1+2+3+4+5+..., 當項數(n) = 20,值為多少
function recurs1(n:integer):integer;
var ans : integer;
begin
if n > 1 then
ans:=n+recurs1(n-1)
else
ans:=1;
result:=ans;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
sum : integer;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i := 1 to n do
sum := sum+(i);
Math01.Caption:=sum.ToString;
//方法2 遞迴
sum := recurs1(n);
showmessage(sum.ToString);
end;
//----------------------------------------------------------
//(2) 1+3+5+7+9..., 當項數(n) = 20,值為多少
function recurs2(n:integer):integer;
var ans : integer;
begin
if n > 1 then
ans := (2*n-1) + recurs2(n-1)
else
ans := 1;
result:=ans;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i : integer;
sum : integer;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i := 1 to n do
begin
sum := sum + (2*i-1);
end;
Math02.Caption:=sum.ToString;
//方法2 遞迴
sum := recurs2(n);
showmessage(sum.ToString);
end;
//----------------------------------------------------------
//(3) 2+4+6+8+10+..., 當項數(n) = 20,值為多少
function recurs3(n:integer):integer;
var ans : integer;
begin
if n>1 then
ans := (2*n) + recurs3(n-1)
else
ans:=2;
result:=ans;
end;
procedure TForm1.Button3Click(Sender: TObject);
var i:integer;
sum:double;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i:=1 to n do
begin
sum:=sum + (2*i);
end;
Math03.Caption := sum.ToString;
//方法2 遞迴
sum := recurs3(n);
showmessage(sum.ToString);
end;
//----------------------------------------------------------
//(4) 1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...), 當項數(n) = 20,值為多少
function recurs4(n:integer):double;
var ans:double;
denominator:integer; //分母
begin
if n>1 then
begin
denominator := recurs1(n);
ans := 1/denominator + recurs4(n-1) ;
end
else
ans:=1;
result:=ans;
end;
procedure TForm1.Button4Click(Sender: TObject);
var i,j,denominator:integer;
sum:double;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i:=1 to n do
begin
denominator := 0; //分母
for j:=1 to i do
denominator := denominator + j;
sum:=sum + 1/denominator;
end;
Math04.Caption := format('%.7f',[sum]);
//方法2 遞迴
sum := recurs4(n);
showmessage(format('%.7f',[sum]));
end;
//----------------------------------------------------------
//(5) 1-2+3-4+5-6+7..., 當項數(n) = 20,值為多少
function recurs5(n:integer):integer;
var addition,ans : integer;
begin
if n > 1 then
begin
if (n mod 2)=1 then
addition := n
else
addition := -n;
ans:= addition + recurs5(n-1);
end
else
ans:=1;
result:=ans;
end;
procedure TForm1.Button5Click(Sender: TObject);
var i,symbol:integer;
sum : integer;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i:=1 to n do
begin
if (i mod 2)=1 then
symbol := 1
else
symbol := -1;
sum := sum + symbol * i;
end;
Math05.Caption := sum.ToString;
//方法2 遞迴
sum := recurs5(n);
showmessage(sum.ToString);
end;
//----------------------------------------------------------
//(6) 1+1/2+1/3+1/4+1/5+..., 當項數(n) = 20 值為多少?
function recurs6(n:integer):double;
var ans : double;
begin
if n>1 then
ans := 1/n+recurs6(n-1)
else
ans := 1;
result:=ans;
end;
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
sum : double;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i:=1 to n do
begin
sum := sum + 1/i;
end;
Math06.Caption := format('%.7f',[sum]);
//方法2 遞迴
sum := recurs6(n);
showmessage(format('%.7f',[sum]));
end;
//----------------------------------------------------------
//(7) 1-1/2+1/3-1/4+1/5-1/6+1/7-1/8......, 當項數(n) = 20 值為多少?
function recurs7(n:integer):double;
var ans:double;
symbol:integer;
begin
if n>1 then
begin
if (n mod 2)=0 then
symbol := -1
else
symbol := 1;
ans := symbol * 1/n + recurs7(n-1);
end
else
ans := 1;
result:=ans;
end;
procedure TForm1.Button7Click(Sender: TObject);
var i,symbol:integer;
sum : double;
begin
n := strtoint(edit1.Text) ;
sum := 0;
//方法1 迴圈
for i:=1 to n do
begin
if (i mod 2)=0 then
symbol := -1
else
symbol := 1;
sum := sum + symbol * 1/i;
end;
Math07.Caption := format('%.7f',[sum]);
//方法2 遞迴
sum := recurs7(n);
showmessage(format('%.7f',[sum]));
end;
//----------------------------------------------------------
//(8) 1+2!+3!+4!+...+n!..., 當項數(n) = 20 值為多少?
Function recurs8(n:integer):integer;
var i,addition,ans : integer;
begin
addition := 1;
if n>1 then
begin
for i := 1 to n do
addition := addition * i;
ans := addition + recurs8(n-1);
end
else
ans:=1;
result:=ans;
end;
procedure TForm1.Button8Click(Sender: TObject);
var i,j,addition,sum:integer;
begin
n:=strtoint(edit1.Text) ;
sum:=0;
//方法1 迴圈
for i:=1 to n do
begin
addition := 1;
for j:=1 to i do
addition := addition * j;
sum := sum + addition;
end;
Math08.Caption := sum.ToString;
//方法2 遞迴
sum := recurs8(n);
showmessage(sum.ToString);
end;
//----------------------------------------------------------
//(9) (1)+(1+1/2)+(1+1/2+1/3)+(1+1/2+1/3+1/4)+... , 當項數(n) = 20 值為多少?
function recurs9(n:integer):double;
var ans : double;
begin
if n > 1 then
begin
ans := recurs6(n) + recurs9(n-1);
end
else
ans:=1;
result:=ans;
end;
procedure TForm1.Button9Click(Sender: TObject);
var i,j:integer;
addition,sum:double;
begin
n:=strtoint(edit1.Text) ;
sum:=0;
//方法1 迴圈
for i:=1 to n do
begin
addition := 0;
for j:=1 to i do
addition := addition + 1/j;
sum := sum + addition;
end;
Math09.Caption := format('%.7f',[sum]);
//方法2 遞迴
sum := recurs9(n);
showmessage(format('%.7f',[sum]));
end;
//----------------------------------------------------------
//(10) 1+1/2+2/3+3/4+4/5...+(n-1)/n, 當項數(n) = 20 值為多少?
function recurs10(n:integer):double;
var ans : double;
begin
if n > 1 then
ans := (n-1)/n + recurs10(n-1)
else
ans := 1;
result:=ans;
end;
procedure TForm1.Button10Click(Sender: TObject);
var i,j : integer;
addition,sum : double;
begin
n:=strtoint(edit1.Text) ;
sum:=0;
//方法1 迴圈
for i := 1 to n do
begin
addition := 0;
for j:=1 to i do
begin
if j > 1 then
addition := (j-1)/j
else
addition := 1;
end;
sum := sum + addition;
end;
Math10.Caption := format('%.7f',[sum]);
//方法2 遞迴
sum := recurs10(n);
showmessage(format('%.7f',[sum]));
end;

沒有留言:
張貼留言