8.10 不使用新变量交换a,b变量的一个不溢出的方法(非异或)

问题:a=3,b=5,不使用新变量,交换a和b的值。

第一种? 异或的方法直接可以交换不提

第二种:

a=a+b;

b=a-b;

a=a-b;

但a+b可能会溢出

?

所以? ?那为什么不用a=a-b不会溢出呢

a=a-b;

b=a+b;

a=b-a;

完美解决溢出的问题? 而且比异或的方法易懂省事

上一篇:使用蚁群算法加邻域搜索算法解决带有起点和终点的TSP问题(python)


下一篇:CodeForces 592D-Super M(树上生成树+树的直径之树DP的缺点)