Submit | All submissions | Best solutions | Back to list |
DIVISION - Divisiblity by 3 |
Divisiblity by 3 rule is pretty simple rule: Given a number sum the digits of number and check if sum is divisible by 3.If divisible then it is divisible by 3 else not divisible.Seems pretty simple but what if we want to extend this rule in binary representation!!
Given a binary representation we can again find if it is divisible by 3 or not. Making it little bit interesting what if only length of binary representation of a number is given say n.
Now can we find how many numbers exist in decimal form (base 10) such that when converted into binary (base 2) form has n length and is divisible by 3 ?? (1 <= n < 2*10^18)
Input
Length of binary form: n
Output
Print in new line the answer modulo 1000000007.
Example
Input
1 2
Output
1 2
Explanation: For n=2 there are only 2 numbers divisible by 3 viz.0 (00) and 3 (11) and having length 2 in binary form.
NOTE: There are multiple testfiles containing many testcases each so read till EOF.
Warnings: Leading zeros are allowed in binary representation and slower languages might require fast i/o. Take care.
Added by: | Bhavik |
Date: | 2014-06-28 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | own |
hide comments
|
||||||
2019-02-11 08:16:17
what is the code |
||||||
2018-04-01 07:22:29
AC in Python depends more on luck than anything else. If TLE, resubmit another 10 times, perhaps you'll get lucky. TL carefully set to prevent us passing with a for loop counting numbers up to 2^(10^18). </sarcasm> Over 100,000 cases per testfile so use fast I/O regardless of the language. Last edit: 2018-04-01 07:25:05 |
||||||
2017-08-17 03:21:53
TLE in python cost me 4 submission. Can anyone tell me why am I getting TLE in Python? Solution Link - http://www.spoj.com/submit/DIVISION/id=19985254 AC using C++. Last edit: 2017-08-17 03:22:36 |
||||||
2017-04-21 19:13:44 candide
Good problem to play with C optimisations. AC in Python. Nevertheless, description could be better, even the title contains a typo. The sentence "numbers in decimal form(base 10) such that when converted into binary(base 2) ..." is misleading and meaningless: does my age change if written in binary vs decimal ? Definition of the lenght of a binary representation is unexpected as it allows for instance 100101 to have length 42 instead of 6. Input format is unclear. Last edit: 2017-04-21 21:23:45 |
||||||
2016-06-17 11:57:43
good problem !! had to thnk a lot.... basically see for few starting cases .....ull get the answer!! use modular exponention :-) |
||||||
2016-06-16 16:58:07 Piyush Kumar
The time limit is unnecessarily strict! |
||||||
2016-01-17 20:04:40
very easy if u know modular exponentiation...... |
||||||
2015-10-03 16:26:40 Thotsaphon Thanatipanonda
Finally I can solve this problem using Java with I/O optimization and reduce number of modulo. :D |
||||||
2015-09-18 15:22:48 Rahul yadav
nice question |
||||||
2015-09-05 18:26:08 Parul Yadav
use scanf/printf |