If you add 9 and 9 you get 18

  • #1
18,243
7,871
If you add 9 and 9 you get 18, and if you multiply 9 by 9 you get 81 (the reverse of 18). There are 2 more pairs of numbers with the same characteristics and where the result is two-digit:
24 + 3 = 27 and 24 * 3 = 72
and
47 + 2 = 49 and 47 * 2 = 94

But there is only one pair of numbers with a triple-digit result and its reversion.

What are the 2 numbers?
 

Answers and Replies

  • #2
Hurkyl
Staff Emeritus
Science Advisor
Gold Member
14,916
19
Is it fair game to exhaust these via computer?
 
  • #3
80
0
seeing as there isn't a solution under a million.... im assuming you can use a computer

update: arg.. it's too big for QBASIC....
 
Last edited:
  • #4
hypnagogue
Staff Emeritus
Science Advisor
Gold Member
2,244
2
Hurkyl, you've used a computer to get a brain teaser in the past... and I think brum has a point insofar as there's not really an analytic solution to the problem (heuristics maybe, but even those basically boil down to trying out a very large set of computations to see if you can stumble on the right answer).

Anyway, I have the solution from a Matlab program I wrote but after your post I decided to wait on Greg's input into this. In the future I think it should be more explicit what resources are and are not allowed in general (eg I would think google is a no-no for any of these) and in particular cases (eg the acceptability of the use of a computer program for a question like this one).
 
  • #5
Hurkyl
Staff Emeritus
Science Advisor
Gold Member
14,916
19
Yah, I did on a previous one, but it didn't dawn on me until just now that it might not be in the spirit of the competition.
 
  • #6
18,243
7,871
hmmm... well I suppose use a computer, except if it's a program especially for that calculation.
 
  • #7
dduardo
Staff Emeritus
1,890
3
I too have come up with an answer. Instead of matlab, I used c++.

[edit]
So is that a yes for a program. Its my own code. See below:

#include <iostream>
#include <sstream>
#include <string>

using namespace std ;

bool reverse_equal( int x , int y )
{
string s1 , s1_flip = "" , s2 ;
ostringstream s1_stream , s2_stream ;
int xy_flip ;
s1_stream << x+y ;
s2_stream << x*y ;
s1 = s1_stream.str() ;
s2 = s2_stream.str() ;
for( int z = s1.length() - 1; z >= 0 ; z-- )
s1_flip += s1[z] ;
if( s1_flip == s2 ) return true ;
else return false ;
}

int main( void )
{
for( int x = 1; x < 1000 ; x++ )
{
for( int y = 1; y < 500 ; y++ )
{
if( reverse_equal( x , y ) )
{
cout << "X: " << x << endl ;
cout << "Y: " << y << endl ;
cout << "X+Y: " << x+y << endl ;
cout << "X*Y: " << x*y << endl << endl ;
}
}
} }


Answer :

X: 497
Y: 2
X+Y: 499
X*Y: 994
[edit]
 
Last edited:
  • #8
18,243
7,871
dduardo gets the point!
 

Related Threads on If you add 9 and 9 you get 18

Replies
20
Views
5K
  • Last Post
Replies
12
Views
2K
Replies
5
Views
847
Replies
5
Views
1K
  • Last Post
2
Replies
42
Views
5K
Replies
5
Views
1K
  • Last Post
Replies
1
Views
2K
Top