求解两个数的最大公因数和最小公倍数
最大公因数:
#include <stdio.h>
void main()
{
int a,n,m,i=2;
printf("input a number:\n");
scanf("%d%d",&n,&m);
printf("n=%d m=%d\n",n,m);
while(n>=i&&m>=i)
{
if(n%i==0&&m%i==0)
{
printf("%d*",i);
n/=i;
m/=i;
}
else
i++;
}
printf("1\n");
}
最小公倍数:
#include <stdio.h>
void main()
{
int a,n,m,i=2;
printf("input a number:\n");
scanf("%d%d",&n,&m);
printf("n=%d m=%d\n",n,m);
while(n>=i&&m>=i)
{
if(n%i==0&&m%i==0)
{
printf("%d*",i);
n/=i;
m/=i;
if(n%i==n&&m%i==m)//例如40和20 在除以5之后 剩2和1
//利用改if语句可以实现2*2*5*2*1的5后面的部分
{
printf("%d*%d",n,m);
}
}
else
i++;
}
}
提醒:
在复制到编译器上会有符号上面的错误,铁子们一定要注意!!!