内存空间
辗转相除法求最大公因数
#include <stdio.h>
//求两个数的最大公因数与最小公倍数之和
int main()
{
//辗转相除法求最大公因数
//max%min==j?
//j!=0->
//max=min; min=j;
//max%min==j?
//……
//i==0->
//min就是最大公因数
int a = 0;
int b = 0;
while (scanf("%d%d", &a, &b) == 2)
{
int max = a > b ? a : b;
int min = a < b ? a : b;
int ret = 0;
int i = min;
while (i)
{
if (max % i == 0 && min % i == 0)
{
ret += i;
break;
}
else
{
i--;
}
}
ret += a * b / i; //两数之积除以最大公因数==最小公倍数
printf("%d\n", ret);
}
return 0;
}
#include <stdio.h>
//求两个数的最大公因数与最小公倍数之和
int main()
{
//辗转相除法求最大公因数
//max%min==j?
//j!=0->
//max=min; min=j;
//max%min==j?
//……
//i==0->
//min就是最大公因数
int a = 0;
int b = 0;
while (scanf("%d%d", &a, &b) == 2)
{
int max = a > b ? a : b;
int min = a < b ? a : b;
int ret = 0;
int i = 0;
while (i = max % min)
{
max = min;
min = i;
}
ret = a * b / min + min ; //两数之积除以最大公因数==最小公倍数
printf("%d\n", ret);
}
return 0;
}
打印空心正方形
int main()
{
int i = 0;
while (scanf("%d",&i) == 1)
{
int j = 0;
for (j = 0;j < i;j++)
{
printf("* ");
}
printf("\n");
for (j = 0;j < i - 2;j++)
{
printf("* ");
int k = 0;
for (k = 0;k < i - 2;k++)
{
printf(" ");
}
printf("* \n");
}
for (j = 0;j < i;j++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
int main()
{
int i = 0;
int j = 0;
int k = 0;
while (scanf("%d", &k) == 1)
{
for (i = 0;i < k;i++)
{
for (j = 0;j < k;j++)
{
if (i == 0 || i == k - 1 || j == 0 || j == k - 1)
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
return 0;
}