今天解决的算法题目是对于两个数互质的判断,原本我认为这个方法应该不难,但是真正实现起来还是思考良久。问题的关键还是之前我没有考虑其中一个数会等于零,所以导致了一直都不对。最后还是用一个类似欧几里得的递归方法解决了这个问题,C代码如下
bool isPrime (int p,int q)
{
if (p==0)
return q==1?true:false;
if (q==0)
return p==1?true:false;
if (p==q)
return true;
if (p>q)
return isPrime(p%q,q);
else
return isPrime(p,q%p);
}
明天学习背包,队列和栈,打算学写一个能够直接读取式子的计算器。