做了一下庞果网的编程题,被一个5分的倒水问题撂倒了,不得不说我考虑问题太简单了。
原来还需要用到数学定理。在网上一阵搜索,发现这是一个扩展欧几里得算法,A*x+B*y=M这个方程有没有x,y的整数解的问题。
要做的就是求出a和b的最小公约数,然后看c是不是公约数的公倍数。
int mod(int a,int b)
{
return b?mod(b, a%b):a;
}
int can(int a,int b,int c) {
int res;
res=mod(a,b);
if(c%res==0)
return 1;
else
return 0;
}