blade


私信TA

用户名:blade

访问量:17042

签 名:

等  级
排  名 1885
经  验 2551
参赛次数 0
文章发表 11
年  龄 0
在职情况 学生
学  校 开侨
专  业

  自我简介:

解题思路:
最大公约数可以用迭代求出,最小公倍数要运用最大公约数。



注意事项:
从严格来说,两个数要区分大小的,不然会报错。尽管没有区分,还是能通过。




参考代码:

#include"stdio.h"
int gys(int m, int n) {             //最大公约数
	int a,max,min;
	max=(m>n)?m:n;
	min=(m<n)?m:n;
	while (min%max != 0) {
		a = min%max;
		min = max;
		max = a;
	}
	return a;
	}
int gbs(int m,int n) {     //最小公倍数函数
	int b,max,min;
	max = (m > n) ? m : n;
	min = (m < n) ? m : n;
	if (max%min == 0)b = max;
	else b = min*(max / gys(m, n));
	return b;
}
int main() {
	while (1) {
		int a, b;
		scanf("%d%d", &a, &b);
		printf("%d %d", gys(a, b), gbs(a, b));
	}
	return 0;
	}


 

0.0分

1 人评分

  评论区

x<y?x:y
这种句式为什么要加括号?
2018-06-05 17:23:02
赞一个~
2017-10-10 12:46:40
  • «
  • 1
  • »