循环的中断应用被3整除的数

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);   //“开始”按钮
var
  i,k,t: integer;
begin
  t := 0;                                         //累加总和
  k := 0;                                         //整除的个数
  i := 0;                                         //求和的最大值
  repeat
    i := i + 1;
    if i mod 3 = 0 then                           //是否被3整除
      continue;
    if t + i > 32767 then                         //总和不能超过32767
      break;
    t := t + i;                                   //总和累加
    k := k + 1;                                   //个数累加
  until false;
  edit1.Text := inttostr(i-1);                    //编辑框1显示最大值
  edit2.Text := inttostr(k);                      //编辑框2显示被整除个数
  edit3.Text := inttostr(t);                      //编辑框3显示累加和
end;

end.

 

posted @ 2011-12-03 14:58  endsnow  阅读(182)  评论(0)    收藏  举报