菜鸟问题:求1+(1+2)+(1+2+3)+...+(1+2+3+...+100)
求1+(1+2)+(1+2+3)+...+(1+2+3+...+100)
[解决办法]
=1*100 + 2*99+ 3*98 +……+ 1*100
procedure TForm1.Button1Click(Sender: TObject);var i: Word; num : Int64;begin num := 0; for i:=1 to 100 do num := num + i * (101-i);end;
[解决办法]
171700
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
sum:integer;
begin
sum:=0;
for I := 1 to 100 do
begin
for j := 1 to i do
sum:=sum+j
end;
end;
[解决办法]
1楼、2楼的都是正解
经过测试,结果 = 171700
[解决办法]
jwejo仔
早啊
你在研究阶乘啊
我抢分来了给我个分
[解决办法]
function GetResult: integer;begin Result := 171700;end;
[解决办法]
//简明性 100*1 99*2 +98*3..1*100
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
num : integer;
begin
for i:=1 to 100 do
num := num + (101-i)*i
end;
//完全模拟型
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
sum:integer;
begin
sum:=0;
for I := 1 to 100 do
begin
for j := 1 to i do
sum:=sum+j
end;
end;
[解决办法]
输入:edi1(TEdit)
输出:edi2(TEdit)
var I,J,k: LongWord; s : Int64; m: Integer;begin if Not TryStrToInt(edt1.Text,Integer(I)) then begin edt2.Text := 'Invalid input!'; Exit; end; j := (I div 2); s := 0; for m := 1 to j do begin s := s+ m*(i-m+1)*2; end; if (I mod 2) = 1 then s := s+(j+1)*(j+1); edt2.Text := IntToStr(s);end;
[解决办法]
写个函数给你
function SumNumber(Number:integer):integer;var i:integer;begin result := 0; if Number = 1 then begin result := 1; exit; end; if Number > 0 then begin for i:= 1 to Number do begin result:= result + i*(Number+1 - i); end; end;end;