File tree Expand file tree Collapse file tree
solution/1600-1699/1680.Concatenation of Consecutive Binary Numbers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -154,6 +154,39 @@ impl Solution {
154154}
155155```
156156
157+ #### JavaScript
158+
159+ ``` js
160+ /**
161+ * @param {number} n
162+ * @return {number}
163+ */
164+ var concatenatedBinary = function (n ) {
165+ const mod = 1_000_000_007 ;
166+ let ans = 0 ;
167+ for (let i = 1 ; i <= n; i++ ) {
168+ ans = (((ans * (1 << (32 - Math .clz32 (i)))) % mod) + i) % mod;
169+ }
170+ return ans;
171+ };
172+ ```
173+
174+ #### C#
175+
176+ ``` cs
177+ public class Solution {
178+ public int ConcatenatedBinary (int n ) {
179+ const int mod = 1000000007 ;
180+ long ans = 0 ;
181+ for (int i = 1 ; i <= n ; ++ i ) {
182+ int bitLength = 32 - System .Numerics .BitOperations .LeadingZeroCount ((uint )i );
183+ ans = ((ans << bitLength ) | i ) % mod ;
184+ }
185+ return (int )ans ;
186+ }
187+ }
188+ ```
189+
157190<!-- tabs: end -->
158191
159192<!-- solution: end -->
@@ -273,6 +306,46 @@ impl Solution {
273306}
274307```
275308
309+ #### JavaScript
310+
311+ ``` js
312+ /**
313+ * @param {number} n
314+ * @return {number}
315+ */
316+ var concatenatedBinary = function (n ) {
317+ const mod = 1_000_000_007 ;
318+ let ans = 0 ;
319+ let shift = 0 ;
320+ for (let i = 1 ; i <= n; i++ ) {
321+ if ((i & (i - 1 )) === 0 ) {
322+ shift++ ;
323+ }
324+ ans = (((ans * (1 << shift)) % mod) + i) % mod;
325+ }
326+ return ans;
327+ };
328+ ```
329+
330+ #### C#
331+
332+ ``` cs
333+ public class Solution {
334+ public int ConcatenatedBinary (int n ) {
335+ const int mod = 1000000007 ;
336+ long ans = 0 ;
337+ int shift = 0 ;
338+ for (int i = 1 ; i <= n ; ++ i ) {
339+ if ((i & (i - 1 )) == 0 ) {
340+ ++ shift ;
341+ }
342+ ans = ((ans << shift ) | i ) % mod ;
343+ }
344+ return (int )ans ;
345+ }
346+ }
347+ ```
348+
276349<!-- tabs: end -->
277350
278351<!-- solution: end -->
Original file line number Diff line number Diff line change @@ -155,6 +155,39 @@ impl Solution {
155155}
156156```
157157
158+ #### JavaScript
159+
160+ ``` js
161+ /**
162+ * @param {number} n
163+ * @return {number}
164+ */
165+ var concatenatedBinary = function (n ) {
166+ const mod = 1_000_000_007 ;
167+ let ans = 0 ;
168+ for (let i = 1 ; i <= n; i++ ) {
169+ ans = (((ans * (1 << (32 - Math .clz32 (i)))) % mod) + i) % mod;
170+ }
171+ return ans;
172+ };
173+ ```
174+
175+ #### C#
176+
177+ ``` cs
178+ public class Solution {
179+ public int ConcatenatedBinary (int n ) {
180+ const int mod = 1000000007 ;
181+ long ans = 0 ;
182+ for (int i = 1 ; i <= n ; ++ i ) {
183+ int bitLength = 32 - System .Numerics .BitOperations .LeadingZeroCount ((uint )i );
184+ ans = ((ans << bitLength ) | i ) % mod ;
185+ }
186+ return (int )ans ;
187+ }
188+ }
189+ ```
190+
158191<!-- tabs: end -->
159192
160193<!-- solution: end -->
@@ -274,6 +307,46 @@ impl Solution {
274307}
275308```
276309
310+ #### JavaScript
311+
312+ ``` js
313+ /**
314+ * @param {number} n
315+ * @return {number}
316+ */
317+ var concatenatedBinary = function (n ) {
318+ const mod = 1_000_000_007 ;
319+ let ans = 0 ;
320+ let shift = 0 ;
321+ for (let i = 1 ; i <= n; i++ ) {
322+ if ((i & (i - 1 )) === 0 ) {
323+ shift++ ;
324+ }
325+ ans = (((ans * (1 << shift)) % mod) + i) % mod;
326+ }
327+ return ans;
328+ };
329+ ```
330+
331+ #### C#
332+
333+ ``` cs
334+ public class Solution {
335+ public int ConcatenatedBinary (int n ) {
336+ const int mod = 1000000007 ;
337+ long ans = 0 ;
338+ int shift = 0 ;
339+ for (int i = 1 ; i <= n ; ++ i ) {
340+ if ((i & (i - 1 )) == 0 ) {
341+ ++ shift ;
342+ }
343+ ans = ((ans << shift ) | i ) % mod ;
344+ }
345+ return (int )ans ;
346+ }
347+ }
348+ ```
349+
277350<!-- tabs: end -->
278351
279352<!-- solution: end -->
Original file line number Diff line number Diff line change 1+ public class Solution {
2+ public int ConcatenatedBinary ( int n ) {
3+ const int mod = 1000000007 ;
4+ long ans = 0 ;
5+ for ( int i = 1 ; i <= n ; ++ i ) {
6+ int bitLength = 32 - System . Numerics . BitOperations . LeadingZeroCount ( ( uint ) i ) ;
7+ ans = ( ( ans << bitLength ) | i ) % mod ;
8+ }
9+ return ( int ) ans ;
10+ }
11+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number } n
3+ * @return {number }
4+ */
5+ var concatenatedBinary = function ( n ) {
6+ const mod = 1_000_000_007 ;
7+ let ans = 0 ;
8+ for ( let i = 1 ; i <= n ; i ++ ) {
9+ ans = ( ( ( ans * ( 1 << ( 32 - Math . clz32 ( i ) ) ) ) % mod ) + i ) % mod ;
10+ }
11+ return ans ;
12+ } ;
Original file line number Diff line number Diff line change 1+ public class Solution {
2+ public int ConcatenatedBinary ( int n ) {
3+ const int mod = 1000000007 ;
4+ long ans = 0 ;
5+ int shift = 0 ;
6+ for ( int i = 1 ; i <= n ; ++ i ) {
7+ if ( ( i & ( i - 1 ) ) == 0 ) {
8+ ++ shift ;
9+ }
10+ ans = ( ( ans << shift ) | i ) % mod ;
11+ }
12+ return ( int ) ans ;
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number } n
3+ * @return {number }
4+ */
5+ var concatenatedBinary = function ( n ) {
6+ const mod = 1_000_000_007 ;
7+ let ans = 0 ;
8+ let shift = 0 ;
9+ for ( let i = 1 ; i <= n ; i ++ ) {
10+ if ( ( i & ( i - 1 ) ) === 0 ) {
11+ shift ++ ;
12+ }
13+ ans = ( ( ( ans * ( 1 << shift ) ) % mod ) + i ) % mod ;
14+ }
15+ return ans ;
16+ } ;
You can’t perform that action at this time.
0 commit comments