954,506 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Reversing Integer, Magic Squares, and LCM problems

Hello. I'm currently a 10th grader who's been sitting in front of the computer for hours trying to figure this assignment out. First, my teacher gave me a reverse integer problem. He wants us to reverse the numbers 12345, 10001, 1200, and 5, and display in in the output. The leading zeros can be omitted. I got the method down here (for the first integer):

//initialize int tmpInt1 = 0; while(tmpInt1 == 12345) { newInt *= 10; newInt += tmpInt1 % 10; tmpInt1 /= 10; }


However, there seems to be a problem displaying it in the output, which looks like this: FunLoops fun = new FunLoops();
System.out.println("12345 reversed ---> " + fun.reverse(12345));
That's just the first reverse integer, and I am clueless on how to add the other numbers in. Should I use a nested loop? If so, how should I use it? After I figure this out, I still need to do the LCM and the Magic Square part, which is even more complicated. I'm glad I have a 4-day weekend, so this isn't that urgent. But I still need the help. Can someone please show me the correct way to do this? Thank you all so much!!!

Eclipse
Newbie Poster
6 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

>I got the method down here (for the first integer):
Why not write it generally for all integers?

public int reverse_integer ( int val )
{
  int ret = 0;

  while ( val != 0 ) {
    ret = 10 * ret + ( val % 10 );
    val /= 10;
  }

  return ret;
}

>I am clueless on how to add the other numbers in.
It's easiest just to call reverse for each number, provided that reverse can handle any integer intelligently:

System.out.println("12345 reversed ---> " + fun.reverse(12345));
System.out.println("12345 reversed ---> " + fun.reverse(10001));
System.out.println("12345 reversed ---> " + fun.reverse(1200));
System.out.println("12345 reversed ---> " + fun.reverse(5));
Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

Thank you, Narue! This portion of the program is working now! :)

Hopefully, I'm not asking too much, but there's just one last thing I need, and that is how to figure out the LCM of two numbers. I don't really know how to approach it. Should it be best if I stick with using a while loop, compare the two integers, and increment it until it finds the LCM, or should I do something else?

Eclipse
Newbie Poster
6 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

Calculating the least common multiple is trivial if you have a routine to find the greatest common divisor:

public int lcm ( int a, int b )
{
  return a * b / gcd ( a, b );
}

You shouldn't have any trouble finding out the algorithm for finding the greatest common divisor, it's everywhere. :)

Narue
Bad Cop
Administrator
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
 

Thank you so much Narue! You're the best!! :cool:

Eclipse
Newbie Poster
6 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

class ReverseTest {

public static void main(String[] args) {

int originalInt = 12345;
int reversedInt = 0;

// convert Integer value to String. Strings can be easily reversed
String intToString = new Integer(originalInt).toString();

//Create a StringBuffer from the original string
StringBuffer buffer = new StringBuffer(intToString);

//Reverse the contents of the StringBuffer
buffer = buffer.reverse();

// convert String back to integer
reversedInt = Integer.parseInt(buffer.toString());


// print out the result
System.out.println("Reversed Integer: " + reversedInt);

} // main

}

k.chinnivasu
Newbie Poster
1 post since Jan 2012
Reputation Points: 10
Solved Threads: 0
 

I bet the OP has been waiting impatiently for the 7 1/2 years since he posted and then solved this problem, just in case you would come along with another solution. That's great. He can hand his homework in now.

JamesCherrill
Posting Genius
Moderator
6,370 posts since Apr 2008
Reputation Points: 2,130
Solved Threads: 1,073
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You