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

最大公约数与最小公倍数算法题代码实现【NYOJ题目40】

2018-07-21 01:34 232 查看

描述

小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。

输入

第一行输入一个整数n(0<n<=10000),表示有n组测试数据;

随后的n行输入两个整数i,j(0<i,j<=32767)。

输出

输出每组测试数据的最大公约数和最小公倍数

样例输入

3
6 6
12 11
33 22

样例输出

6 6
1 132
11 66

算法实现: 

[code]#include <stdio.h>
int main()
{
int n,k,i,j,t;
scanf("%d",&n);
int a
[2];

for (k=0; k<n; k++) {
scanf("%d%d",&i,&j);

if (i>j) {
t=i;
i=j;
j=t;
}
a[k][1]=j;
while (a[k][1]%i||a[k][1]%j) {
a[k][1]+=j;
}
if (i==j) {
a[k][0]=i;
} else {

while (i&&j) {
j=j%i;

if (j==0) {
break;
} else {
i=i%j;
}
}
if (i==0) {
a[k][0]=j;
} else {
a[k][0]=i;
}
}
}
for (k=0; k<n; k++) {
printf("%d %d\n",a[k][0],a[k][1]);
}

return 0;
}

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: