|
本帖最后由 mengyizui 于 2014-6-16 12:58 编辑
还是沙发
#include <stdio.h>
int main (void)
{
int a = 0;
int b = 0;
int gy = 0;
int gb = 0;
int i = 0;
scanf ("%d %d", &a, &b);
gb = a*b;
while (( a % 2 == 0 ) && ( b % 2 == 0 ))
{
a = a / 2; b = b / 2;
++i;
}
while (a!=b)
{
if (a > b)
a -= b;
if (b > a)
b -= a;
}
gy = a*( i == 0 ? 1 : 2 * i );
gb /= gy;
printf ("%d %d",gy,gb);
return 0;
}
公式根据《九章算术》更相减损法,看不懂的自行百度。数学小白,只能把别人的数学方法用编程解释出来了。。。
|
评分
-
查看全部评分
|