b***u 发帖数: 12010 | 1 这个可能会跟我的第一版一样有精度问题。
递归解法, 适用任意张牌任意N:
这个方法有重复在于比如a b c d, a+b => c+d => sum up 和 c+d => a+b => sum up
会重复算。应该有办法改进,不过现在不想搞了。
void allRes(const vector& iOperands, set& oResult)
{
if(iOperands.size() == 0) return;
if(iOperands.size() == 1 &&
(iOperands[0] - (int)iOperands[0] < 0.000001 || 1 - iOperands[0] + (
int)iOperands[0] < 0.000001 )&&
iOperands[0] > 0.000001)
{
int res = (int)iOperands[0];
if(iOperands[0] - (int)iOperands[0] > 0. |
|