三齐王点兵:三三数余a,五数余b,七七数余c,求士兵总人数n。
Var a,b,c:integer;
begin
readln(a,b,c);
For n:=1 to 100 do
if (n mod 3=a) and (n mod 5=b) and (n mod 7=c) then write(n:5);
end.
求两个自然数M、N的最小公倍数
分析:设k为最小公倍数,先让k取m值的1倍,当k不能整除n时,再让k取m值的两倍、三倍..直到k能整除n。这时,k就是m和n的最小公倍数。
k
m
n
12
12
96
24
36
48
96
求两个自然数M、N的最小公倍数
Var k,m,n,i:integer;
Begin
readln(m,n);
K:=m; i:=1;
While k mod n<>0 do
Begin
i:=i+1;
K:=m*i;
End;
Writeln(k);
End.
Var k,m,n,i:integer;
Begin
readln(m,n);
K:=m;
While k mod n<>0 do
K:=k+m;
Writeln(k);
End.
求两个自然数m和n的最大公因数
分析:设k为最大公因数,先让k取m的值,当k不能同时被m和n整除时,让k每次减少1,直到k能同时被m和n整除。这时,k就是m和n的最大公因数。
k
m
n
6
6
4
5
4
3
2
求两个自然数M、N的最大公因数
Var k,m,n:integer;
Begin
readln(m,n);
K:=m;
While (m mod k<>0 )or (n mod k<>0 ) do
K:=k-1;
Writeln(k);
End.
直到型循环(repeat)语句
格式:
repeat
语句1;
语句2;
:
语句n;
Until 布尔表达式值为真;
求s=1+2+3+..+100
Var i,s:integer;
begin
i:=1;s:=0;
Repeat
S:=s+i;
i:=i+1;
Until i>100;
Writeln(s);
end.
Var i,s:integer;
begin
i:=1;s:=0;
While i<=100 do
begin
S:=s+i;
i:=i+1;
End;
Writeln(s);
end.
求两个自然数M、N的最小公倍数
Var k,m,n,i:integer;
Begin
readln(m,n);
K:=m;
While k mod n<>0 do
Begin
K:=K+m;
End;
Writeln(k);
End.
Var k,m,n,i:integer;
Begin
readln(m,n);
K:=m; i:=1;
Writeln(k);
End.
repeat
i:=i+1;
K:=m*i;
Until k mod n=0;
求两个自然数M、N的最大公因数
Var k,m,n:integer;
Begin
readln(m,n);
K:=m;
While (m mod k<>0 )or (n mod k<>0 ) do
K:=k-1;
Writeln(k);
End.
Var k,m,n:integer;
Begin
readln(m,n);
K:=m;
Writeln(k);
End.
Repeat
K:=k-1;
Until (m mod k=0 )and (n mod k=0 )
写出程序运行结果
Var n,a,b,i:integer;
Begin
readln(n);
readln(a);
repeat
readln(b)
if b>a then a:=b;
i:=i+1;
Until i=n-1;
Writeln(a);
End.
6
45
80
78
59
60
48
Freepascal入门培训 来自淘豆网m.daumloan.com转载请标明出处.