输入5个正整数求它们的最大公约数
发布网友
发布时间:2024-03-01 07:00
我来回答
共4个回答
热心网友
时间:2024-03-02 04:25
辗转除法,百度百科里面有,当然里面是两个数的,至于5个数,求出两个数的了,把结果和剩下的三个数放一起,再求其中两个的最大公约数,直到得到结果
热心网友
时间:2024-03-02 04:25
很简单的~一个个试;
program xx1;
var
a:array[1..5]of integer;
n,i,j,x:integer;
t:boolean;
begin
for i:=1 to 5 do
read(a[i]);
for i:=1 to a[1] do
begin
t:=ture;
j:=1 to 5 do
if a[i]mod i<>0 then t:=false;
if t then x:=i;
end;
writeln(x);
end.
热心网友
时间:2024-03-02 04:26
program sd;
var i,s:integer;
a:array[1..5]of integer;
function gy(m,n:integer):integer;
var j:integer;
begin
for j:=m downto 1 do
if (m mod j=0)and(n mod j=0) then begin
gy:=j;
exit;
end;
end;
end;
begin
for i:=1 to 5 do
readln(a[i]);
s:=a[1];
for i:=2 to 5 do
s:=gy(s,a[i]);
writeln(s);
end.
热心网友
时间:2024-03-02 04:26
program wx01;
const m=5;
var a:array[1..m]of integer;
i,s,n:integer;
function zxgb(num1,num2:integer):integer;
var j,k:integer;
begin
if num1>num2 then k:=num1
else k:=num2;
for j:=k to num1*num2 do
if (j mod num1=0)and(j mod num2=0) then
begin
zxgb:=j;
exit;
end;
end;
begin
for i:=1 to m do
readln(a[i]);
s:=a[1];
n:=a[1];
for i:=2 to m do
begin
n:=zxgb(n,a[i]);
end;
writeln('zui xiao gong bei shu shi ',n);
end.