int gys(int a, int b)
{
int t;
if (a < b)
{
t = a;
a = b;
b = t;
}
while (b != 0)
{
t = b;
b = a % t;
a = t;
}
return a;
}
int main()
{
int a, b, t;
while (scanf("%d%d", &a, &b) != EOF)
{
t = gys(a, b);
printf("%d %d\n", t, a / t * b);
}
return 0;
}
这是一个用C语言编写的程序,它定义了一个名为intgys的函数来计算两个整数的最大公约数。在主函数中,程序不断接收用户输入的整数对并调用intgys函数,然后打印出最大公约数及其乘积。算法基于欧几里得除法,通过循环和模运算找到公约数。
int gys(int a, int b)
{
int t;
if (a < b)
{
t = a;
a = b;
b = t;
}
while (b != 0)
{
t = b;
b = a % t;
a = t;
}
return a;
}
int main()
{
int a, b, t;
while (scanf("%d%d", &a, &b) != EOF)
{
t = gys(a, b);
printf("%d %d\n", t, a / t * b);
}
return 0;
}
990
252
410

被折叠的 条评论
为什么被折叠?