#include<stdio.h>
#include<math.h>
int comdi(int x, int y)/* 最大公约数 */
{
int i, t;
t = (x < y) ? x : y;
printf("common divisor is:");
for (i = t; i >= 1; i--)
{
if (x % i == 0 && y % i == 0)
{
printf("%d ", i);
break;
}
}
printf("\n");
return (0);
}
int commu(int num1, int num2)/* 最小公倍数 */
{
int sushu(int k);
int t;
int i, j, k, s1, s2;
s1 = s2 = 0;
t = num1 < num2 ? num1 : num2;
for (i = 1, k = 1; i <= t; i++)
{
for (j = 2; j < t; j++)
{
if (num1 % j == 0 && num2 % j == 0)
{
k = k * j;
num1 = num1 / j;
num2 = num2 / j;
s1 = sushu(num1);
s2 = sushu(num2);
break;
}
}
if (s1 == 1 || s2 == 1)
break;
}
k = k * num1 * num2;
return (k);
}
int sushu(int k)/* 判断是否是素数 */
{
int i, j;
scanf("%d", &k);
if (k == 1)
{
return (1);
}
else
{
j = sqrt(k);
for (i = 2; i <= j; i++)
{
if (k % i == 0)
break;
}
if (i > j)
{
return (1);
}
else
{
return (0);
}
}
}
void main()
{
int num1, num2;
int comm;/* comm倍数 */
printf("please input two number:num1 num2\n");
scanf("%d%d", &num1, &num2);
comdi(num1, num2);/* 约数 */
comm = commu(num1, num2);/* 倍数 */
printf("min common multiple is %d\n", comm);
}
#include<math.h>
int comdi(int x, int y)/* 最大公约数 */
{
int i, t;
t = (x < y) ? x : y;
printf("common divisor is:");
for (i = t; i >= 1; i--)
{
if (x % i == 0 && y % i == 0)
{
printf("%d ", i);
break;
}
}
printf("\n");
return (0);
}
int commu(int num1, int num2)/* 最小公倍数 */
{
int sushu(int k);
int t;
int i, j, k, s1, s2;
s1 = s2 = 0;
t = num1 < num2 ? num1 : num2;
for (i = 1, k = 1; i <= t; i++)
{
for (j = 2; j < t; j++)
{
if (num1 % j == 0 && num2 % j == 0)
{
k = k * j;
num1 = num1 / j;
num2 = num2 / j;
s1 = sushu(num1);
s2 = sushu(num2);
break;
}
}
if (s1 == 1 || s2 == 1)
break;
}
k = k * num1 * num2;
return (k);
}
int sushu(int k)/* 判断是否是素数 */
{
int i, j;
scanf("%d", &k);
if (k == 1)
{
return (1);
}
else
{
j = sqrt(k);
for (i = 2; i <= j; i++)
{
if (k % i == 0)
break;
}
if (i > j)
{
return (1);
}
else
{
return (0);
}
}
}
void main()
{
int num1, num2;
int comm;/* comm倍数 */
printf("please input two number:num1 num2\n");
scanf("%d%d", &num1, &num2);
comdi(num1, num2);/* 约数 */
comm = commu(num1, num2);/* 倍数 */
printf("min common multiple is %d\n", comm);
}