1。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstring>
using namespace std;
int main()
{
int m,n,i,j,t,p;
scanf("%d %d", &m, &n);
t=max(m,n);
for(j=1; j<=t; j++)
{
if(m%j==0&&n%j==0)
{
p=j;
}
}
printf("最大公约数是%d\n",p);
for(i=m;i<=m*n;i++)
{
if(i%m==0&&i%n==0)
{
printf("最小公倍数是%d\n",i);
break;
}
}
return 0;
}
2.
#include <stdio.h>
int main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m:");
scanf("%d,%d,",&n,&m);
if (n<m)
{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("它们的最大公约数为:%d\n",n);
printf("它们的最小公倍数为:%d\n",p/n);
return 0;
}
两种方式。。。说实话第二种老师给的我并没有想到。。。还是需要多做做,多找找思路啊。。。