您的位置:首页 > 编程语言 > C语言/C++

c语言最小公倍数与最大公约数的求法集锦

2013-10-31 13:07 363 查看
c语言最基本的一些小程序源代码:

方法一:
#include <stdio.h>
int main()

{
int data1,data2,i;
printf("please input two datas:\n");
scanf("%d%d",&data1,&data2);
if(data1>data2)// 最小公倍数;
{
for(i=data1;i<=data1*data2;i++)
if(i % data1==0 && i % data2 ==0)
printf("[ %d %d]最小公倍数是 %d.\n",data1,data2,i);
}
else
{
for(i=data2;i<=data1*data2;i++)
if(i % data1==0 && i % data2 ==0)
printf("[ %d %d]最小公倍数是 %d.\n",data1,data2,i);
}

if(data1>data2)//最大公约数;
{
for(i=data2;i>=1;i--)
if( data1 % i ==0 && data2 % i==0)
printf("[ %d %d]最大公约数是 %d.\n",data1,data2,i);
}

else
{
for(i=data1;i>=1;i--)
if( data1 % i ==0 && data2 % i==0)
printf("[ %d %d]最大公约数是 %d.\n",data1,data2,i);

}
return 0;

}

方法二:
#include <stdio.h>
int main()
{
int data1,data2,i,data;
printf("please input two datas:\n");
scanf("%d%d",&data1,&data2);
if(data1>data2)// 最小公倍数;
{
for(i=data1;i<=data1*data2;i++)
if(i % data1==0 && i % data2 ==0)
printf("[ %d %d]最小公倍数是 %d.\n",data1,data2,i);
}
else
{
for(i=data2;i<=data1*data2;i++)
if(i % data1==0 && i % data2 ==0)
{
printf("[ %d %d]最小公倍数是 %d.\n",data1,data2,i);
data=i;
}
}
printf("最大公约数是:%d\n",(data1*data2)/data);

//此处也可以先求出最大公约数在求最小公倍数,方法一样!

return 0;
}

方法三:
#include <stdio.h>
int main()
{
int data1,data2,temp,multipy,Max;
printf("please input two datas:\n");
scanf("%d%d",&data1,&data2);
multipy=data1*data2;
temp=data1 % data2;
while(temp) //表示temp不为零;
{
data1=data2;
data2=temp;
temp=data1%data2;
}
Max=data2;//此处记录一下方便求最小公倍数;
printf("最大公约数是:%d\n",data2);
printf("最小公倍数是:%d\n",multipy/Max);
//再用上面的方法求出最小公倍数即可!!
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: