2022-03-27 20:45:09 +08:00
< p > Given an integer < code > n< / code > , return < em > the < strong > decimal value< / strong > of the binary string formed by concatenating the binary representations of < / em > < code > 1< / code > < em > to < / em > < code > n< / code > < em > in order, < strong > modulo < / strong > < / em > < code > 10< sup > 9 < / sup > + 7< / code > .< / p >
< p > < / p >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 1:< / strong > < / p >
2022-03-27 20:45:09 +08:00
< pre >
< strong > Input:< / strong > n = 1
< strong > Output:< / strong > 1
< strong > Explanation: < / strong > " 1" in binary corresponds to the decimal value 1.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 2:< / strong > < / p >
2022-03-27 20:45:09 +08:00
< pre >
< strong > Input:< / strong > n = 3
< strong > Output:< / strong > 27
< strong > Explanation: < / strong > In binary, 1, 2, and 3 corresponds to " 1" , " 10" , and " 11" .
After concatenating them, we have " 11011" , which corresponds to the decimal value 27.
< / pre >
2023-12-09 18:42:21 +08:00
< p > < strong class = "example" > Example 3:< / strong > < / p >
2022-03-27 20:45:09 +08:00
< pre >
< strong > Input:< / strong > n = 12
< strong > Output:< / strong > 505379714
< strong > Explanation< / strong > : The concatenation results in " 1101110010111011110001001101010111100" .
The decimal value of that is 118505380540.
After modulo 10< sup > 9< / sup > + 7, the result is 505379714.
< / pre >
< p > < / p >
< p > < strong > Constraints:< / strong > < / p >
< ul >
< li > < code > 1 < = n < = 10< sup > 5< / sup > < / code > < / li >
< / ul >