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

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;	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值