#471. 杜教筛·lowbit求和
杜教筛·lowbit求和
杜教筛·lowbit求和
题目描述
给定正整数 ,计算:
其中 ,表示 的二进制表示中最低非零位所对应的值。
输入格式
一个整数 ()。
输出格式
输出 的值。
样例
输入
7
输出
12
说明
所以 。
提示
lowbit 是积性函数。
限制
- 时间限制:1 秒
- 内存限制:256 MB
给定正整数 n,计算:
S(n)=i=1∑nextlowbit(i)其中 lowbit(x)=x&(−x),表示 x 的二进制表示中最低非零位所对应的值。
一个整数 n(1≤n≤1012)。
输出 S(n) 的值。
输入
7
输出
12
所以 S(7)=1+2+1+4+1+2+1=12。
lowbit 是积性函数。