狼行神码

导航

最小公倍数 最大公约数

窗体设计如图:

Label 4个 Edti 4个 button 1个、

代码:

 1 unit Unit2;
 2 
 3 interface
 4 
 5 uses
 6   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 7   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 8 
 9 type
10   TForm2 = class(TForm)
11     Label1: TLabel;
12     Label2: TLabel;
13     Edit1: TEdit;
14     Edit2: TEdit;
15     Edit3: TEdit;
16     Label3: TLabel;
17     Button1: TButton;
18     Label4: TLabel;
19     Edit4: TEdit;
20     procedure Button1Click(Sender: TObject);
21   private
22     { Private declarations }
23   public
24     { Public declarations }
25   end;
26 
27 var
28   Form2: TForm2;
29 
30 implementation
31 
32 {$R *.dfm}
33 
34 procedure TForm2.Button1Click(Sender: TObject);
35 var
36 int1,int2,mod1,temp:Integer;
37 begin
38   int1 := StrToInt(Edit1.Text); //把第一个整数赋值给int1.
39   int2 := StrToInt(Edit2.Text); //把第二个整数赋值给int2.
40 
41   if int1<int2 then      //如果第一个数比第二个数小则调换
42     begin
43       temp := int1;
44       int1 := int2;
45       int2 := temp;
46     end;
47   mod1 := int2;
48   while mod1>0  do //最大公约数的计算假如 x > y, x mod y 取余数后,y 付给 x、余数付给 y,然后重复运算, 最后非 0 的余数就是最大公约数
49   begin
50     mod1 := int1 mod int2;
51     int1 := int2;
52     if mod1>0 then
53     int2 := mod1;
54   end;
55   Edit3.Text := IntToStr(int2);      //结果输出
56   Edit4.Text := IntToStr((StrToInt(Edit1.Text)*StrToInt(Edit2.Text)) div int2); //用两个数的乘积除以最大公约数
57 end;
58 
59 end.

 

posted on 2016-10-06 10:21  狼行神码  阅读(179)  评论(0编辑  收藏  举报