Question: Find the sum of all bits from numbers 1 to N.
Company: Amazon
Input:
The first line of input contains an integer T denoting the number of test cases.
The first line of each test case is N.
Output:
The first line of each test case is N.
Output:
Print the sum of all bits.
Constraints:
Constraints:
1 ≤ T ≤ 100
1 ≤ N ≤ 1000
Example:
1 ≤ N ≤ 1000
Example:
Input:
2
4
17
2
4
17
Output:
5
35
5
35
Explanation:
An easy way to look at it is to consider the number 6:
0|0 0
0|0 1
0|1 0
0|1 1
-|–
1|0 0
1|0 1
1|1 0
An easy way to look at it is to consider the number 6:
0|0 0
0|0 1
0|1 0
0|1 1
-|–
1|0 0
1|0 1
1|1 0
CODE:
#include <stdio.h>
int getCount(int n){
int c=0;
while(n){
n=n&(n-1);
c++;
}
return c;
}
int main() {
int t,i,n,c;
scanf("%d",&t);
while(t--){
c=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
c+=getCount(i);
}
printf("%d\n",c);
}
}
EXECUTION TIME:0.01s
Comments
Post a Comment