点赞(0)
 

0.0分

53 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 25 条评论

兰澜岚 3年前 回复TA
//自定义函数处理最大公约数(gcd)与最小公倍数(lcm)
#include<stdio.h>
int gcd=1,lcm=1;
int fungcd(int a,int b)
{
	int j,k;
	j=a;
	k=b;
	if(j>k)
	{
		j=b;
		k=a;
	}
	for(int i=2;i<=j;i++)
	{
		if(j%i==0&&k%i==0)
		{
			j/=i;
			k/=i;
			gcd*=i;
			i=1;
		}
	}
	return gcd;
}

int funlcm(int a,int b)
{
	int q;
	q=fungcd(a,b);
	lcm=a*b/q;
	return lcm;
}

int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	printf("%d %d",fungcd(a,b),funlcm(a,b));
	return 0;	
}
Kohler 3年前 回复TA
@Kohler 看错了,不好意思,博主。
Kohler 3年前 回复TA
实测博主你这个不太对呀,如果是8和4得到的最小公约数就是4了,你那个判断条件应该改一下。
小夭 3年前 回复TA
#include<stdio.h>
int min(int a,int b){
	auto int i;
    if(a>b)
		i=b;
	else
		i=a;
	for(;i>=1;i--)
		if(a%i==0&&b%i==0) //这里不得不说我没有用上面的那个方法,主要是没看懂,求最大公约数
			break;
	return i;
}
int max(int a,int b){
	auto int i;
	if(a>b)
		i=a;
	else
		i=b;
	for(;i<=a*b;i++)
		if(i%a==0&&i%b==0)
		     break;
	return i;
}
int main(){
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d %d\n",min(a,b),max(a,b)); 
	return 0;
}
可爱颂 4年前 回复TA
厉害!