Public Group

# Exercise Hint

This topic is 4872 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Im working though a book on c++ and currently have got to the question: Write a program that read a decimal digit d and prints a table with two columns: one for positige integers x, less than 100, and one for their squares x2. Only those lines in which the digit d occurs both in x and x2 are to be printed. For example, if d is equal to 2, the table will contain the line: 82 6724 since 82^2 = 6724 and 2 occurs both in 82 and in 6724. The way I completed it is by writing a funtion that turns the number into a char array checks for the number and then prints the table depending on the result. Is there an easier/better way of doing this though?

##### Share on other sites
I think you got the easiest solution there is, because it's quite ugly when you use modulo or div. You could try something like this:

void FindDigitInNumber(int big, int digit){   int remainder = big;   while(remainder > 0)   {      int mod = remainder % 10;      if (mod == digit)         return true;           remainder = remainder / 10;   }   return false;}

Of course, it is very much similar to this what atoi does.

1. 1
Rutin
40
2. 2
3. 3
4. 4
5. 5

• 18
• 19
• 12
• 14
• 9
• ### Forum Statistics

• Total Topics
633363
• Total Posts
3011509
• ### Who's Online (See full list)

There are no registered users currently online

×