面试时遇到的问题,来此记录一下
题目要求:计算1加到100的和要求不能使用加法,减法,循环和if判断
正常的解题公式:
int plus(int n)
{
return n*(n+1)/2;
}
变形的解题公式,用位运算代替加减法:
int plus(int n)
{
return (n*(-(~n)))>>1;
}
面试时遇到的问题,来此记录一下
题目要求:计算1加到100的和要求不能使用加法,减法,循环和if判断
正常的解题公式:
int plus(int n)
{
return n*(n+1)/2;
}
变形的解题公式,用位运算代替加减法:
int plus(int n)
{
return (n*(-(~n)))>>1;
}