Making any integer with four 2s (2025)
155 points by germanrabbit 14 hours ago | 37 comments
adas0693 13 hours ago
there is a related problem (inspired by an interview questions from ITA software, a part of Google now) that asks to find the smallest positive integer that cannot be expressed using a digit K (in [2,9]) N times in an expression that involves the four basic arithmetic operations and the parentheses: +, -, *, /, (, and ).
replyto make the problem more interesting, the list of operations can be extended to include exponentiation and concatenation.
for example, using the four basic operations for N=4, and K in [2,9], we get:
7 cannot be computed in 4 2s; 11 cannot be computed in 4 3s; 10 cannot be computed in 4 4s; 8 cannot be computed in 4 5s; 9 cannot be computed in 4 6s; 4 cannot be computed in 4 7s; 5 cannot be computed in 4 8s; 4 cannot be computed in 4 9s;
bajard 5 hours ago
22 is cheating because 22 = 2*10+2 is arbitrary in base 10. If you write 22 in some base, you have to write the base, and that's an extra number.
replygnabgib 14 hours ago
Popular last year (368 points, 165 comments) https://news.ycombinator.com/item?id=43145753
replyallywilson 4 hours ago
I'll just drop this here (yes, it's 4 instead of 2 - they're twice as good): https://fourmula.awsum.info/
replyArnt 13 hours ago
Spoilsport.
replyAnd JFYI since December is near: https://rant.gulbrandsen.priv.no/hack/advent-calendar-for-ne...
teo_zero 13 hours ago
Never understood why 7 is considered difficult...
reply7 = ⌈ 2.2² + 2 ⌉
blueblock 12 hours ago
Rounding spoils the fun of the puzzle.
replynostrademons 12 hours ago
It seems very much in the spirit of allowing concatenation and square roots...
replyshoo 5 hours ago
There's a direct trivial solution for any natural number using the successor function S(a) = a + 1 from Peano arithmetic.
replyEncode 0 as 2 + 2 - 2 - 2 then apply S a times to that 0.
Only depends upon natural numbers & Peano stuff, no need for construction of rationals, irrationals, logarithms, etc.
3=(sin(arctan(sin(arctan(sin(arctan(2))))))^−2 − (2)^−2
Squaring is to multiplication as is the latter to addition. If roots are invalid then so should be multiplications.
as halving is to addition.
If we agree that 2^2 uses two twos (and, indeed, that 2^3 isn't valid, because it uses a 3), then what's the equivalent of a square root?
Of course to my simple math brain, a square root is ^1/2, which includes the digit 1. But I agree there is someone 2-ish about the square root.
It would be like if we had a stylistic convention that you can drop the second number in an addition and it becomes 1. So "6 +" means "6 + 1."
Now I can trivially make any number, but I'm just 'exploiting' a convenience feature in the notation:
0 = 2 + 2 - 2 - 2
1 = 2 + 2 - 2 - 2 +
2 = 2 + 2 - 2 - 2 + +
Etc
2x3= 2+2+2 AxB= A+A B times.
Raising to a power is repeated multiplication.
2^3= 2x2x2 A^B = AxA B times
Roots are the inverse of powers
Division is the inverse of multiplications.
Given this… the OC’s comment about giving exceptions to powers in the rules is nonsense because they are still operations.
Multiplication is a scaling operation.
In the integers, it is the same thing, with a rule for negative times.
In the rational numbers, you can generalize to adding a number to itself a rational number of times. Adding a/b to itself p/q times is defined as adding a to itself p times, with a divisor that is adding b to itself q times.
So adding the rational 5 (5/1) with itself 2_and-1/3 (4/3) times just means (5+5+5+5) / (1 + 1 + 1) = 20/3, a rational that we can also write as 6 -and-2/3. Only addition of integers is used.
Which is the same as rational multiplication (a/b)(p/q) = (ap)/(b*q).
But it's true that you can't say that rational multiplication is the same as _integer_ repeated addition.
The comment below by drfloyd51 is similarly wrong ... hahajk didn't say anything about "giving exceptions to powers in the rules".
And the comment by speglt is also wrong:
> If taking a square root is an inherent use of a two, then dividing a number by another number should also be a use of a two, because there are two operands.
The number of operands isn't relevant; the degree of the root is.
And from SideQuark we get
> One could even claim division is raising to the -1 power, thereby disqualifying it in exactly the same manner you disqualify sqrt.
But hahajk said nothing about anything being disqualified. (Not to mention that division is not raising to the -1 power ... raising what? n/d = n * d^-1, but this is completely irrelevant to hahajk's argument.)
One could even claim division is raising to the -1 power, thereby disqualifying it in exactly the same manner you disqualify sqrt. I’ve never seen sqrt with a 2 index; power -1 is seen quite often for division.
Go figure….