我想找到给定某个数字的所有 3 的倍数,并找到余数。
例如:
给定数字 10:3 的倍数 = {3;6;9} + 余数 = 1
给定数字 11:3 的倍数 = {3;6;9} + 余数 = 2
我到目前为止的算法(但不是代码)是这样的:
- 检查 X 是否是 3 的倍数 - 是 - 返回倍数(无余数);
- 不?x-1 是 3 的倍数 - 是 - 返回倍数(1 个余数);
- 不?x-2 是 3 的倍数 - 是 - 返回倍数(余数为 2);
有没有更好的方法来做到这一点,使用更少的代码?
编辑:还有 2 件事,我只寻找 3 - 所以这可能是一个 const。还有任何小于 3 的数字:2、1 和 0 - 我不介意为此添加额外的逻辑。