题解 | 循环求和

循环求和

https://www.nowcoder.com/practice/f1725df80ee04cfebb6300f27c3d6464

#include <iostream>
using namespace std;

int main()
{
    int t; cin >> t;
    while (t -- )
    {
        long long l, r;
        cin >> l >> r;
        long long ans = 0;
        if ((l & 1) && (r & 1))
        {
            ans = r - (r - l >> 1);
        }
        else if (!(l & 1) && (r & 1))
        {
            ans = (r - l + 1 >> 1);
        }
        else if ((l & 1) && !(r & 1))
        {
            ans = -(r - l + 1 >> 1);
        }
        else 
        {
            ans =  (r - l >> 1) - r;
        }
        cout << ans << "\n";
    }

    return 0;
}

全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务