习题4-7 最大公约数和最小公倍数
https://pintia.cn/problem-sets/12/problems/293
题目要求两个给定正整数的最大公约数和最小公倍数。
#include<stdio.h>
int yueshu(int m,int n);
int beishu(int m,int n);
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int a = yueshu(m,n);
int b = beishu(m,n);
printf("%d %d",a,b);
}
int yueshu(int m,int n)
{
int max = 1;
int t;
if(m>n)
t = n;
else
t = m;
for(int i = 1; i<=t;i++)
{
if(m%i==0&&n%i==0)
{
max = i;//因为i是不断变大的,所以只用将更大的满足条件的i赋给max即可
}
}
return max;
}
int beishu(int m,int n)
{
int min;
if(m>n)
min = m;
else
min = n;
int flag = 0;
while(flag == 0)
{
if(min%m==0&&min%n==0)
{
flag = 1;
}
min++;
}
return min-1;//因为min多加了一次
}