IMO, the answer should be 39.
The question is talking about only positive single and double digit integers. That covers all numbers between 0 and 100 (exclusive of the 2 extremes).
The question also says that the number should be expressed as a sum or difference of 2^(n-1) where n is positive integer. That means a sum or difference of even numbers.
We know even + even = even
and even - even = even
So all even numbers can be expressed by 2^(n-1). So that leaves us with 50 odd numbers.
But 2^0 = 1. And even - odd = odd. Thus, there will be a few odd numbers that can be obtained by the eqn 2^(n-1) - 2^0 and 2^(n-1) + 2^0.
We need to consider only values of n from 2 to 7 (since 2^7 will become 128 and adding or subtracting 1 from this will give us a number that will still be outside the defined range).
When n=2, 2^1 - 1 = 1 and 2^1 + 1 = 3
When n=3, 2^2 - 1 = 3 and 2^2 + 1 = 5
When n=4, 2^3 - 1 = 7 and 2^3 + 1 = 9
When n=5, 2^4 - 1 = 15 and 2^4 + 1 = 17
When n=6, 2^5 - 1 = 31 and 2^5 + 1 = 33
When n=7, 2^6 - 1 = 63 and 2^4 + 1 = 65
Thus, the total odd numbers that can be represented by adding or subtracting 2 expressions of the form 2^(n-1) = 11
Numbers between 0 and 100 that cannot be represented by 2^(n-1) = 50-11 = 39.
Any other answers to this one please ?