Skip to content

Commit 630398f

Browse files
authored
Merge pull request #2 from Chayandas07/Chayandas07-patch-2
Create 25 25 November Shreyansh and his bits
2 parents 03071a8 + d1a27cd commit 630398f

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

25 25 November Shreyansh and his bits

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
class Solution{
2+
public:
3+
4+
long long nck(long long n, long long k){
5+
6+
if(n == 0 || n < k) return 0;
7+
8+
long long res = 1;
9+
10+
if (k > n - k)
11+
12+
k = n - k;
13+
14+
for (int i = 0; i < k; ++i) {
15+
16+
res *= (n - i);
17+
18+
res /= (i + 1);
19+
20+
}
21+
22+
23+
24+
return res;
25+
26+
}
27+
28+
long long count(long long x) {
29+
30+
long long r = 0;
31+
32+
int number_of_set_bits = 0;
33+
34+
for(int i = 0; i < 64;++i){
35+
36+
if(x & 1){
37+
38+
number_of_set_bits++;
39+
40+
long long nck_r = nck(i,number_of_set_bits);
41+
42+
//printf("nck_r=%d,n=%d,k=%d\n",nck_r,i,number_of_set_bits);
43+
44+
r += nck_r;
45+
46+
//printf("r=%d\n",r);
47+
48+
}
49+
50+
x = x >> 1;
51+
52+
}
53+
54+
return r;
55+
56+
}
57+
};

0 commit comments

Comments
 (0)