If you add 9 and 9 you get 18

17,538
7,138
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?
 

Hurkyl

Staff Emeritus
Science Advisor
Gold Member
14,845
17
Is it fair game to exhaust these via computer?
 
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:

hypnagogue

Staff Emeritus
Science Advisor
Gold Member
2,221
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).
 

Hurkyl

Staff Emeritus
Science Advisor
Gold Member
14,845
17
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.
 
17,538
7,138
hmmm... well I suppose use a computer, except if it's a program especially for that calculation.
 

dduardo

Staff Emeritus
1,894
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:

Related Threads for: If you add 9 and 9 you get 18

Replies
20
Views
5K
  • Posted
Replies
12
Views
2K
Replies
42
Views
5K

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving

Hot Threads

Top