C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 16:41:51
C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
C 语言 最大公约数和最小公倍数:
从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).
输入
输入有若干行,每行有两个整数a和b,(|a|,|b|
C 语言 最大公约数和最小公倍数:从输入文件中读入两个整数a,b,求最大公约数GCD(a,b)和最小公倍数和LCM(a,b).输入输入有若干行,每行有两个整数a和b,(|a|,|b|
#include
int GCD(int a,int b)
{
if ( 0 == a || 0 == b)
{
return -1;
}
else
{
while ( b != 0 )
{
int temp = a % b;
a = b;
b = temp;
}
return a;
}
}
int LCM(int a,int b)
{
int t = GCD(a,b);
if (-1 == t)
{
return -1;
}
else
{
return (a * b / t);
}
}
int main()
{
FILE* pFile = fopen("input.txt","r");
int a,b;
int i = 0;
int t;
while (!feof(pFile))
{
fscanf(pFile,"%d %d",&a,&b);
t = GCD(a,b);
printf("Case %d:",++i);
if (-1 == t)
{
printf("no GCDno LCM\n");
}
else
{
printf("GCD(%d,%d) = %dLCM(%d,%d) = %d\n",
a,b,t,a,b,a * b / t);
}
}
fclose(pFile);
system("pause");
}