CCC '00 J2 - 9966

View as PDF

Submit solution

Points: 3
Time limit: 2.0s
Memory limit: 16M

Problem type
Canadian Computing Competition: 2000 Stage 1, Junior #2

The digits 0, 1, and 8 look much the same if rotated 180 degrees on the page (turned upside down). Also, the digit 6 looks much like a 9, and vice versa, when rotated 180 degrees on the page. A multi-digit number may also look like itself when rotated on the page; for example 9966 and 10801 do, but 999 and 1234 do not.

You are to write a program to count how many numbers from a given interval look like themselves when rotated 180 degrees on the page. For example, in the interval [1 \dots 100] there are six: 1, 8, 11, 69, 88, and 96.

Your program should take as input two integers, m and n, which define the interval to be checked, 1 \le m \le n \le 32000. The output from your program is the number of rotatable numbers in the interval.

You may assume that all input is valid.

Sample Input


Sample Output



  • -11
    WEAVER  commented on Sept. 23, 2019, 5:16 p.m.

    This comment is hidden due to too much negative feedback. Click here to view it.

  • 2
    Mark123  commented on Aug. 28, 2019, 6:26 p.m.

    What are the second, third and fourth test conditions? My code seems to work fine for any number I put in.

    • 4
      tzak_el  commented on Aug. 28, 2019, 7:33 p.m. edited

      Try the following test case:


      The expected output is: 1

      • 2
        Mark123  commented on Aug. 28, 2019, 11:06 p.m.

        ty very much! I forgot 0 turned upside down is also a 0 smh...

  • 3
    Dingledooper  commented on July 5, 2019, 4:31 p.m. edit 5

    Right now, your for loop condition (the string length) changes every iteration, when you really want it to be static. You can have a temporary variable to store the condition so it doesn't change @yahashim_coding. P.S. can mods move this comment down to Re:

  • 1
    yhashim_coding  commented on July 4, 2019, 4:16 p.m.

    I'm getting WA for the third and fourth test cases. Are there any conditions (my if/else statements) I missed (or applied to the wrong things)?

    • 1
      Dingledooper  commented on July 4, 2019, 5:35 p.m. edited

      At this for loop: for (int i = 0; i < aString.length()/2; i++){, the condition checks for the length of the string after every iteration, even if its size is changed.

      • -1
        yhashim_coding  commented on July 5, 2019, 4:10 p.m.

        Oh, I see. Is it possible to make it so that the for loop's condition is dynamic (changes each time)? As you can see in my code, it depends on the string shrinking and it's similar to recursion (although I think it's more simple). Is the only other way I can do it with this approach be using a recursive method?

  • -1
    Mackrel  commented on June 17, 2019, 12:40 p.m.

    Does anyone know what numbers the judge tests for? I'm getting the first 2 correct but not the last 3, and I want to know what I'm supposed to be getting in order to fix my program.

    • -1
      Pleedoh  commented on June 17, 2019, 1:45 p.m.

      Your solution looks quite a bit over complicated my friend. Try to break it down into simpler conditions and test for each one.

  • 4
    IanHu  commented on Dec. 25, 2018, 4:59 p.m.

    Any tips for how to solve this question?

  • 2
    j2267wan  commented on Sept. 28, 2018, 5:14 p.m.

    hi im new please care of me cuz im hot -arielle

    • 17
      Cthulhu  commented on Sept. 28, 2018, 6:21 p.m.

      This was taken entirely out of context.