求最大公因数

最大公因数就是这个数因数中最大的数

更相减损法

//具体就是利用 两个数相减,如果被除数和余数相等那么这个被除数就是这个两个数最大的公因数

#include<stdio.h>
//求最小公因数
//利用更相减损法
int subtract(int,int);
int main(){
	
	int x,y,result;
	scanf("%d,%d",&x,&y);
	result=subtract(x,y);
	printf("subtract of these two numbers is %d",result);


	
}
int subtract(int a,int b){
	while(a!=b){
		while(a<b)b-=a;
		while(b<a)a-=b;
	}
	return a;
}

辗转相除法

//这种方法我觉得就是更相减损法的一个变种,比更相减损法大大提高的效率,其本质还是和更相减损法一样的。说明:除以这个数如何余数为0那么这个数就是最大公因数,不为0用除数除以余数

#include<stdio.h>
int Z(int,int);
int main(){
	
	int x,y,result;
	scanf("%d,%d",&x,&y);
	result=Z(x,y);
	printf(" max common multiple of these two numbers is %d",result);


	
}
int Z(int a,int b){
	int r;
	while(b!=0){
		r=a%b;
		a=b;
		b=r;
	}
	return a;
}
posted @ 2023-03-15 10:38  Development_UP  阅读(27)  评论(0编辑  收藏  举报