#include
按需网站建设可以根据自己的需求进行定制,网站制作、做网站构思过程中功能建设理应排到主要部位公司网站制作、做网站的运用实际效果公司网站制作网站建立与制做的实际意义
"stdio.h"
int
main()
{
int
d1,d2,r;
printf("输入两个正整数:");
scanf("%d
%d",d1,d2);
do
{
r=d1%d2;
d1=d2;d2=r;
}while(d2!=0);
printf("最大公约数是:%d",d1);
}
//递归法
#include
"stdio.h"
int
fun(int
d1,int
d2)
{
if(d2!=0)
return
fun(d2,d1%d2);
else
return
d1;
}
int
main()
{
int
d1,d2;
printf("输入两个正整数:");
scanf("%d
%d",d1,d2);
printf("最大公约数是:%d",fun(d1,d2));
}
#include stdio.h
int main()
{
int a,b,c,m,t;
printf("请输入两个数:\n");
scanf("%d%d",a,b);
if(ab)
{
t=a;
a=b;
b=t;
}
m=a*b;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
printf("最大公约数是:\n%d\n",b);
printf("最小公倍数是:\n%d\n",m/b);
}
扩展资料
算法思想
利用格式输入语句将输入的两个数分别赋给 a 和 b,然后判断 a 和 b 的关系,如果 a 小于 b,则利用中间变量 t 将其互换。
再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。
#includestdio.h是在程序编译之前要处理的内容,称为编译预处理命令。编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以是c语言的程序语句。
1、新建一个C语言源程序,这里使用Visual C++6.0的软件:
2、从键盘中输入两个正整数a和b。取两个数a,b中的较小值存放到变量n中。从两个数a和b中的较小数开始逐个减小1,寻找能整除a和b的整数,第一个找到的整数即整数a和b的最大公约数,最后将找到的结果输出即可完成程序的编写:
3、对源程序编译运行,测试输入4、6,得到最大公约数2说明程序是正确的,以上就是用c语言求最大公约数的过程:
//注意:测试时输入的两个数用逗号分隔,如: 12,18
#includestdio.h
int main()
{
int a,b,h;
int max(int m,int n);
printf("输入两个数:\n");
scanf("%d,%d",a,b);
h=max(a,b);
printf("最大公约数为:%d\n",h);
getchar();
}
int max(int m,int n)
{
int temp;
temp=m%n;
while(temp)
{
m=n;
n=temp;
temp=m%n;
}
return(n);
}
c语言最大公约数函数,一般是写一个自定义的函数。
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}
#includestdio.h
int main()
{
int zdgys(int x, int y); //求最大公约数
int zxgbs(int x, int y); //求最小公倍数
int a,b,max,min;
scanf("%d %d",a,b);
max = zdgys(a, b); //求最大公约数
min = zxgbs(a, b); //求最小公倍数
printf("最大公约数为%d,最小公倍数为%d",max,min);
return 0;
}
int zdgys(int x, int y)
{
int i,r,t=xy ? x : y;
for (i=1;i=t;i++)
{
if (x%i == 0 y%i == 0)
r=i;
}
return r;
}
int zxgbs(int x, int y)
{
int i,t=xy ? x : y;
for (i = t;;)
{
if (i%x == 0 i%y == 0)
break;
else
i++;
}
return i;
}