编程求两个整数的最大公约数和最小公倍数。
#includestdio.h
成都创新互联是一家专注于网站制作、做网站与策划设计,梅州网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:梅州等地区。梅州做网站价格咨询:13518219792
int func1(int a,int b)
{
int r;
while(b0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int func2(int a,int b,int g)
{
return a*b/g;
}
int main()
{
int a,b,c,d;
scanf("%d%d",a,b);
c=func1(a,b);//最大公约数
d=func2(a,b,c);//最小公倍数
printf("%d\n%d\n",c,d);
}
C语言求最大公约数和公倍数
float y=34.0000;
printf("%d\n",y);
这个的输出会是0,float输出到%d上会是0.
所以最后一行你要改为
printf("%d %d\n",z,(int)y);
编写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由
#includelt;stdio.hgt;//0和任意的一个数的最大公约数就是那个数(最小公倍数就是0)
int yue(int x,int y)
{
int m,t;
if(ygt;x)
{
t=x;//将x与y的值交换
x=y;
y=t;
}
while(y!=0)
{
m=x%y;
x=y;
y=m;
}
return x;
}
int bei(int x,int y,int p)
{
return(x*y/p);
}
int main()
{
int yue(int,int);
int bei(int,int,int);
int p,q,a,b;
printf("请输入两个整数:");
scanf("%d%d",a,b);
q=yue(a,b);
p=bei(a,b,q);//最小公倍数=两数的乘积除以它们的最大公约数
printf("最大公约数是:%d\n最小公倍数是:%d\n",q,p);
}
扩展资料:
#includelt;iostreamgt;
using namespace std;
int i;
int max(int a,int b)
{
//coutlt;lt;"max";
int s;s=i=2;
//coutlt;lt;slt;lt;endl;
if(agt;b)
{
i=b;
}
else
i=a;
do{
if(a%i==0b%i==0)
{
//coutlt;lt;"do里面的s!"lt;lt;slt;lt;endl;
//coutlt;lt;"do里面的i!"lt;lt;ilt;lt;endl;
s=i;
break;
}
i--;
}while(ilt;ailt;b);
//coutlt;lt;"end的s!"lt;lt;slt;lt;endl;
//coutlt;lt;"end的i!"lt;lt;ilt;lt;endl;
return s;
}
int min(int a,int b)
{
//coutlt;lt;"min";
int s;s=1;i=2;
do{
if(i%a==0i%b==0)
{
//coutlt;lt;"do里面的s!"lt;lt;slt;lt;endl;
//coutlt;lt;"do里面的i!"lt;lt;ilt;lt;endl;
s=i;break;
}
i++;
}while(ilt;=a*b);
//coutlt;lt;"end的s!"lt;lt;slt;lt;endl;
//coutlt;lt;"end的i!"lt;lt;ilt;lt;endl;
return s;
}
int main()
{
int x,y,m,n;
cingt;gt;xgt;gt;y;
m=max(x,y);n=min(x,y);
coutlt;lt;mlt;lt;""lt;lt;n;
}
c语言求公约公倍数
#include stdio.h
long long int gongyue(long long int m,long long int n){
long long int c;
if(m2 || n2) return 44;
if(mn){
c=m%n;
while(c0){
m=n;
n=c;
c=m % n;
}
}
else{
c=n % m;
while(c0){
n=m;
m=c;
c=n % m;
}
}
m=n;
return m;
}
long long int gongbei(long long int m,long long int n){
return m/gongyue(m,n)*n;
}
int main(){
long long int a,b,c,m,n;
printf("请输两个正整数a,b:");
scanf("%lld%lld",a,b);
m=gongyue(a,b);
n=gongbei(a,b);
printf("最大公约数%lld,最小公倍数%lld\n",m,n);
return 0;
}
C语言怎么求多个数的最小公倍数与最大公约数
两个正整数的最大公约数和最小公倍数的求法尼会吗?多个数也差不多,也就是这N个数从头开始先求前两个数的最大公约数(设为n1),然后n1再与第三个数求出其最大公约数(设为n2),n2再与第四个数求出最大公约数……直至求出所有数的最大公约数。这些数的最小公倍数就是这些数的成绩再除以这些数的最大公约数。
当前文章:c语言求最大公倍数函数 c语言求最大公倍数和最小公倍数
分享路径:http://lswzjz.com/article/docoseh.html