Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

If you add 9 and 9 you get 18

  1. Sep 24, 2003 #1
    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?
     
  2. jcsd
  3. Sep 24, 2003 #2

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Is it fair game to exhaust these via computer?
     
  4. Sep 24, 2003 #3
    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: Sep 24, 2003
  5. Sep 24, 2003 #4

    hypnagogue

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    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).
     
  6. Sep 24, 2003 #5

    Hurkyl

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    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.
     
  7. Sep 24, 2003 #6
    hmmm... well I suppose use a computer, except if it's a program especially for that calculation.
     
  8. Sep 24, 2003 #7

    dduardo

    User Avatar
    Staff Emeritus

    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: Sep 24, 2003
  9. Sep 24, 2003 #8
    dduardo gets the point!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: If you add 9 and 9 you get 18
  1. You get three wishes (Replies: 26)

  2. Where were you on 9/11? (Replies: 12)

Loading...