编写一个c语言程序 求两个整数的最大公约数

我只要最大公约数

#include<stdio.h>
int gongyue(int m,int n)
{
int r;
if(m==n) return m;
else
while((r=m%n)!=0)
{
m=n;
n=r;
}
return n;
}
void main()
{
int a,b,i;
printf("please input two number:\n");
scanf("%d%d",&a,&b);
i=gongyue(a,b);
printf("最大公约数是:%d\n",gongyue(a,b));
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-28
main()
{long m,n,i=1,j,s;
scanf("%ld,%ld",&m,&n);
for(;i<=m&&i<=n;i++)
{if(m%i==0&&n%i==0) s=i;}
if(m>=n) j=m;
else j=n;
for(;!(j%m==0&&j%n==0);j++);
printf("s=%ld,j=%ld\n",s,j);
}
这个帮你把最大公约数和最小公倍数都求出来了~
第2个回答  2010-12-28
#include<stdio.h>
int gongyue(int m,int n)
{
int r;
if(m==n) return m;
else
while((r=m%n)!=0)
{
m=n;
n=r;
}
return n;
}
int gongbei(int m,int n)
{
if(m==n) return m;
else return m*n/gongyue(m,n);
}

void main()
{
int a,b,i;
printf("please input two number:\n");
scanf("%d%d",&a,&b);
i=gongyue(a,b);
printf("最大公约数是:%d\n",gongyue(a,b));
printf("最小公倍数是:%d\n",gongbei(a,b));
}
第3个回答  2010-12-28
#include <stdio.h>
int mymin(int a,int b)
{
return (a<b)?a:b;
}

void main()
{
int num1,num2=0;
int key=0;
////////////////////////////////////////输入部分
key=0;
printf("qiu liang ge shu de zui da gong yue shu!!\n");
do{

printf("shu ru di 1 ge shu:\t");
fflush(stdin);
key=scanf("%d",&num1);
if(key!=1)printf("shu ru cuo wu ,chong xin shuru !\n");
}
while(key!=1);
/////
key=0;
do{
printf("shu ru di 2 ge shu:\t");
fflush(stdin);
key=scanf("%d",&num2);
if(key!=1)printf("shu ru cuo wu ,chong xin shuru !\n");
}
while(key!=1);
///////////////////////////////////////////求最大公约数部分
{
int i=0;
int temp=mymin(num1,num2);
for(i=temp;i>0;i--)
{
if(num1%i==0 && num2%i==0)
break;
}
printf("%d 和 %d de zui da gong yue shu shi %d\n",num1,num2,i);
}
}
很完美的代码!呵呵 刚写的
第4个回答  2017-11-13
#include<stdio.h>
int gongyue(int m,int n)
{
int r;
if(m==n) return m;
else
while((r=m%n)!=0)
{
m=n;
n=r;
}
return n;
}
void main()
{
int a,b,i;
printf("please input two number:\n");
scanf("%d%d",&a,&b);
i=gongyue(a,b);
printf("最大公约数是:%d\n",gongyue(a,b));
}

编写一个c语言程序 求两个整数的最大公约数
在上面的代码中,我们定义了一个`gcd`函数来求两个整数的最大公约数。`gcd`函数使用递归方式来实现辗转相除法求最大公约数。如果a能被b整除,则b就是两个整数的最大公约数。否则,我们就不断将b作为a,将a%b作为b,不断递归求解,直到b能够整除a。在主函数中,我们首先使用`scanf`函数来读入两...

c语言怎么求两个整数的最大公约数?
1、如果a > b a = a - b;2、如果b > a b = b - a;3、假如a = b,则 a或 b是最大公约数;4、如果a != b;则继续从一开始执行;5、也就是说循环的判断条件为a != b,直到a = b时,循环结束。代码如下:define _CRT_SECURE_NO_WARNINGS 1 include <stdio.h> int main(){ ...

求两个数的最大公约数c语言
用c语言求两个数的最大公约数代码如下:1、#include int maininti,a,b,t;scanf(%d%d,&a,&b);输入数a,bifa>b比较a,b大小,如果a>b则交换,结果为a{t=a;a=b;b=t;fori=a;i>=2。2、以较小的a为基数,每内次i减小1循环求最大公容约数ifa%i==0&&b%i==0如果两数均能整除...

c语言求最大公约数 c语言求两个数的最大公约数是多少
if (a % i == 0 && b % i == 0)\/\/如果两数均能整除某数则该数为最大公约数 { printf(最大公约数是:%d\\n,i);break;\/\/已得到最大公约数后跳出循环 } } if(i==1)\/\/若循环到最后仍无最大公约数则i=1 printf(两数只能同时被1整除!\\n);return 0;} ...

c语言求两个数的最大公约数是多少?
c语言求两个数的最大公约数的步骤如下:1、首先,新建一个C语言源程序,在这里使用的是Visual C++6.0的软件。2、然后从键盘中直接输入两个正整数a和b。代码为:printf("please input two number:\\n");int a,b;scanf("%d%d",&a,&b);3、然后取a,b这两个数中的较小值,存放到变量n中...

用c语言求两个数的最大公约数
以下是用C语言实现求两个数的最大公约数的代码:include<stdio.h>intgcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b);}intmain(){int num1,num2,result;printf("请输入两个整数:\\n");scanf("%d%d",&num1,&num2);result=gcd(num1,num2);printf("最大公约数为:%d\\n",...

C语言函数编写,求两个整数的最大公约数和最小公倍数
编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:include<stdio.h> include<math.h> int fun_gy(int,int); \/\/声明最大公约数函数 int fun_gb(int,int); \/\/声明最小公倍数函数 main(){ int a,b,gy,gb;printf("输入两个...

C语言编程如何实现求两个整数的最大公约数?
在C语言中,可以使用欧几里得算法(辗转相除法)来求解两个整数的最大公约数(GCD)。该算法的基本思想是:用较大的数除以较小的数,将得到的余数作为新的被除数,原来的除数作为新的除数,继续进行相同的操作,直到余数为0,此时最后的除数就是最大公约数。以下是C语言实现求两个整数的最大公约数的...

c语言如何求两个数的最大公约数?
include <stdio.h> int main(){ int m,n,c,d,t;printf("请输入两个数:\\n");scanf("%d%d",&m,&n);if(m<n){ t=m;m=n;n=t;} d=m*n;c=m%n;while(c!=0){ m=n;n=c;c=m%n;} printf("最大公约数是:\\n%d\\n",n);printf("最小公倍数是:\\n%d\\n",d\/n);} ...

C语言程序:用“辗转相除法”求两个正整数的最大公约数(程序填空)
{ int a, b,r;scanf("%d %d", &a, &b);while (b != 0)\/\/当其中一个数为0,另一个数就是两数的最大公约数 { r = a%b;a = b;b = r;} printf("最大公约数%d\\n", a);system("pause");} 例子:105252 252%105=42;105%42=21;42%21=0;即21为105与252的最大...

相似回答