[leetcode]365. Water and Jug Problem -- JavaScript 代码
来源:互联网 发布:里约中国男篮数据 编辑:程序博客网 时间:2024/05/17 08:33
/** * @param {number} x * @param {number} y * @param {number} z * @return {boolean} */var canMeasureWater = function(x, y, z) { if(x+y<z){ return false; } if (x==z || y==z || x+y==z) { return true; } return z%GCD(x, y) === 0; function GCD(a,b){ while (b !== 0) { var temp = b; b = a%b; a = temp; } return a; }};
思路:
如果要能返回true,必须要保证,这两个数的最大公约数可以被要求获得的水z整除。
求最大公约数,这里使用了辗转相除法。
辗转相除法的原理:
假设有两个数x和y,存在一个最大公约数z=(x,y),即x和y都有公因数z,
那么x一定能被z整除,y也一定能被z整除,所以x和y的线性组合mx±ny也一定能被z整除。(m和n可取任意整数)
对于辗转相除法来说,思路就是:若x>y,设x/y=n余c,则x能表示成x=ny+c的形式,将ny移到左边就是x-ny=c,由于一般形式的mx±ny能被z整除,所以等号左边的x-ny(作为mx±ny的一个特例)就能被z整除,即x除y的余数c也能被z整除。
0 0
- [leetcode]365. Water and Jug Problem -- JavaScript 代码
- [LeetCode]problem 365. Water and Jug Problem
- leetcode.365. Water and Jug Problem
- LeetCode 365. Water and Jug Problem
- LeetCode—365. Water and Jug Problem
- Leetcode 365. Water and Jug Problem
- Leetcode 365. Water and Jug Problem[medium]
- LeetCode 365. Water and Jug Problem
- Leetcode 365. Water and Jug Problem
- [LeetCode]365. Water and Jug Problem
- [leetcode]365. Water and Jug Problem
- leetcode 365. Water and Jug Problem
- leetcode 365. Water and Jug Problem
- 【Leetcode】Water and Jug Problem
- leetcode:Water and Jug Problem
- leetcode---Water and Jug Problem
- [LeetCode] Water and Jug Problem
- 365. Water and Jug Problem
- Quartz2D-图片添加水印
- Android开发工具集合
- Objective-C Runtime 解析(二)——NSObject的load与initialize方法
- 行人检测资源&代码&数据
- 单页面应用程序
- [leetcode]365. Water and Jug Problem -- JavaScript 代码
- 微软准备再次裁员2850人 一年之内完成
- 装饰模式(decorator)
- 堆的管理
- 利用FindFirstFile(),FindNextFile()函数历遍指定目录的所有文件
- sdut oj2504 多项式求和(数组法)
- Spring Boot实战之netty-socketio实现简单聊天室(给指定用户推送消息)
- Lua使用C++继承
- 我现在就付诸行动。