首页 > 试题广场 >

XOR和

[编程题]XOR和
  • 热度指数:154 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
一个函数,现在牛牛给你一个数,求的值是多少。
示例1

输入

4

输出

12

备注:
二进制打印i^(i-1)就会发现规律
发表于 2021-08-26 18:39:58 回复(0)
Python 暴力求解不会通过,把它当做数学题罢。
class Solution:
    def Sum(self, n ):
        if n==1:
            return 1
        #分解
        SumXor = (n+1)//2 #奇数
        #SumXor = 0
        i = 2
        while i<=n:
            tmp = 2*i
            SumXor += (tmp-1) * ((n//i +1)//2)
            i = tmp
            
        return SumXor


发表于 2021-03-26 21:19:20 回复(0)

问题信息

难度:
2条回答 979浏览

热门推荐

通过挑战的用户

查看代码