⑴ 用C++语言设计程序,求多组数(四个数以上)的最大公因数
#include<iostream>
usingnamespacestd;
intgcd(inta,intb)
{
intmin;
min=a>b?b:a;
while(min)
{
if(a%min==0&&b%min==0)break;
min--;
}
returnmin;
}
intmain()
{
int*a;
intn;
intr,i;
cout<<"inputtotalnumber";
cin>>n;
a=newint[n];
cout<<"input"<<n<<"numbers";
for(i=0;i<n;i++)
cin>>a[i];
r=gcd(a[0],a[1]);
for(i=2;i<n;i++)
r=gcd(r,a[i]);
cout<<r<<endl;
return0;
}
⑵ c语言中求两个数的最大公因数,最小公倍数
当m1=5,n1=2时,
因为n1!=0,这个while(n1!=0)为真,执行循环体:
yu=5%2=1;
m1=2;
n1=1;
当m1=2,n1=1时,
因为n1!=0,这个while(n1!=0)为真,执行循环体:
yu=2%1=0;
m1=1;
n1=0;
因为n1=0了,退出循环。
最大公约数等于m1,等于1。
⑶ c语言怎样求多个数的最大公约数和最小公倍数
用循环,
最大公约数,任选一个数,从该数开始递减,验证是否能被全部的数整除,如能,即得最大公约数
最小公倍数,任选一个数,从该数开始递增,验证是否能整除全部的数,如能,即得最小公倍数
⑷ c语言输入多组数据,求最大公约数和最小公倍数
#include<stdio.h>
#include<math.h>
intmain()
{
intn,a,b,i,m,t,c;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a,&b);
m=a;
t=b;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
printf("%d%d ",a,m*t/a);
}
return0;
}
望采纳
⑸ 用C语言计算三个数的最大公约数
用C语言计算三个数的最大公约数的方法如下:
准备材料:Visual Studio 2019、电脑
1、首先打开Visual Studio,新建一个Win32控制台程序,
⑹ C语言求最大公因数和最小公倍数的N种方法
(A)
#include<stdio.h>
int f(int a,int b,int n)
{if(a%n+b%n) n=f(a,b,n-1);
return n;
}
void main()
{int a,b,t,n,m;
printf("input a,b:\n");
scanf("%d%d",&a,&b);
n=(a>b)?b:a;
m=a*b/f(a,b,n);
printf("zui da gong yue shu:%d\nzui xiao gong bei shu:%d\n",f(a,b,n),m);
}
(B)
把上面的递归换成循环
#include<stdio.h>
void main()
{
int x,y,a,m,n,t;
printf("please input two num x,y\n");
scanf("%d%d",&x,&y);
for(a=x>y?x:y;a>0;a--)
if(x%a==0&&y%a==0)
{
printf("x,y最大公约数 %d\n",a);
break;
}
m=x/a;
n=y/a;
t=a*m*n;
printf("x,y最小公倍数 %d\n",t);
}
(C)
辗转相除法,这才是最好的方法,一定要掌握
http://ke..com/view/255668.html?wtp=tt
有了大公约,两数乘后除以大公约即为小公倍
⑺ c语言 求最大公约数与最小公倍数
#包括中
无效的主要()/ /找到公分母,想法:使一个变量等于最小的一个的两个数,如果其剩余的两个数等于0,则这个变量是他们的共同点,否则这个变量减1
{
INT I,J,T;
的scanf(“%d个,为%d”,&I&J); BR />如(i <j时)
{
T = I;
i = j时;
J = T;
}
对于(t = j的; T> = 1,T - )
{
如果(十%T == 0 &&我%T == 0)
{
的printf(“%d个\ N“的,T);
突破;
}
}
}
无效的主要()/ /找到的最大公因数,心想:使一个变量等于最大的一个数2,数2,如果需要大于等于0,那么这个变量是他们的共同的特征,否则该变量加1
{
整数I,J ,T;
scanf函数(“%d个,为%d”,&I,&J);
倘(i <j时)
{
T = I;
> i = j时;
J = T;
}
对于(t = I,T> = 1,T +)
{
如果(T%在i == 0 &&%T == 0)
{
printf(“请为%d \ n”,t)的;
打破;
}
} BR />}
⑻ c语言问题 求n个数最大公约数
#include<stdio.h>
main(void)
{inta[9],n,t,i,temp1,temp2,c,d;
printf("请输入您所要输入的数字个数(须在2-9之间)
");
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&a[i]);
}
if(a[0]<a[1])
{temp1=a[0];
a[0]=a[1];
a[1]=temp1;
}
while(a[0]%a[1]!=0)
{c=a[0];
a[0]=a[1];
a[1]=c%a[1];
}
a[0]=a[1];
for(i=0;i<n;i++)
{if(a[0]<a[i])
{temp2=a[0];
a[0]=a[i];
a[i]=temp2;
}
while(a[0]%a[i]!=0)
{d=a[0];
a[0]=a[i];
a[i]=d%a[i];
}
a[0]=a[i];
}
printf("您所输入的数字最大公约数为%d",a[0]);
}
⑼ c语言如何数多个数的最小公倍数和最大公约数,求代码
#include
<stdio.h>
main()
{
int
m,n,r;
printf("请输入两个数字:");
scanf("%d%d",&m,&n);
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("两个数字的最大公约数为%d\n",n);
getch();
}
这个算法就是把你初中算最大公约数的过程给程序化了。。你用以前的方法在纸上算算最大公约数
再对照WHILE里面的算法
就能明白咋回事了。。
⑽ C语言怎么求多个数的最小公倍数与最大公约数
三个数的最大公约数与最小公倍数(如果输很多可以写到循环里)
int a,b,c,i,temp,ji;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
ji=a*b;
i=a%b;
while(i!=0)
{
a=b;
b=i;
i=a%b;
}
//这时b就是这两个数的最大公约数
ji=ji/b*c;
if(b<c)
{
temp=b;
b=c;
c=temp;
}
i=b%c;
while(i!=0)
{
b=c;
c=i;
i=b%c;
}
//这时c就是这三个数的最大公约数,ji/c就是这三个数的最小公倍数