365. 水壶问题
1 // 而贝祖定理告诉我们,ax+by=z 有解当且仅当z是x,y的最大公约数的倍数。 2 // 因此我们只需要找到x,y的最大公约数并判断z是否是它的倍数即可。 3 4 //纯粹的数学问题 5 class Solution 6 { 7 public: 8 bool canMeasureWater(int x, int y, int z) 9 { 10 if (x + y < z) return false;//1、1、12 11 if (x == 0 || y == 0) return z == 0 || x + y == z; 12 return z % gcd(x, y) == 0; 13 } 14 15 int gcd(int a, int b) 16 { 17 return b ? gcd(b, a % b) : a; 18 } 19 };
Mamba never out

浙公网安备 33010602011771号