#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
(复杂)
int main()
{
int n = 0;
int m = 0;
while(scanf("%d %d", &n, &m) == 2)
{
int min = n < m ? n : m;
int max = n > m ? n : m;
int i = min;
int j = max;
while (1)
{
if (n % i == 0 && m % i == 0)
break;
}
i--;
while (1)
{
if (j % n == 0 && j % m == 0)
break;
}
j++;
printf("%d", i + j);
}
return 0;
}
1. //最大公约数和最小公倍数之和(简化)
int main()
{
long n = 0;
long m = 0;
while (scanf("%d %d", &n, &m) == 2)
{
long i = 0;
long j = 0;
long r = 0;
while (i % j)
{
i = j;
j = r;
}
//j就是最大公约数
//n*m/j就是最小公倍数
printf("%ld\n", m * n / j + j);
}
}
2.空心正方形
int main()
{
int n = 0;
while (scanf("%d", &n) == 1)
{
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (i == 0 || i = n - 1 || j == 0 || j = n - 1)
printf("* ");
else
printf(" ");
}
printf("\n");
}
}
return 0;
}