设a,b是给定的正整数。现有一机器人沿着一个有n级的楼梯上下。机器人每上升一次,恰好上升a级楼梯,每下降一次恰好下降b级楼梯。为使机器人经过若干次上下升降后,可以从地面到达楼梯顶,然后再返回地面,请给出n的最小值。
看完题目细想以下,发现可以将式子写成如下的形式。
ax+by=n,x、y为整数。(1)
假设a’、b’互质,那么有
a′x+b′y=gcd(a′,b′)=1
哎?那不正好?
n=gcd(a,b)的话,
(1)式同除以gcd(a,b)得到二式,正好满足。
于是,这个程序
int gcd(int a,int b){
return a%b==0?b:gcd(b,a%b);
}
就没了。。。
本文探讨了一道关于机器人上下楼梯的数学问题,通过求解特定形式的线性方程组来寻找机器人能够从地面到达楼梯顶部再返回地面所需的楼梯最小级数。文中还提供了一个用于计算最大公约数的递归函数。
1192

被折叠的 条评论
为什么被折叠?



