CCC '04 J1 - Squares

View as PDF

Submit solution

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

Problem type
Canadian Computing Competition: 2004 Stage 1, Junior #1

Gigi likes to play with squares. She has a collection of equal-sized square tiles. Gigi wants to arrange some or all of her tiles on a table to form a solid square. What is the side length of the largest possible square that Gigi can build?

For example, when Gigi has 9 tiles she can use them all to build a square whose side length is 3. But when she has only 8 tiles, the largest square that she can build has side length 2.

Write a program that inputs the number of tiles and then prints out the maximum side length. You may assume that the number of tiles is less than ten thousand.

Sample Input 1


Sample Output 1

The largest square has side length 3.

Sample Input 2


Sample Output 2

The largest square has side length 2.

Sample Input 3


Sample Output 3

The largest square has side length 86.

CCC problem statements in large part from the PEG OJ


  • 3
    esyed510  commented on Oct. 18, 2020, 11:52 p.m.

    i spent half an hour big-braining some loop logic and then found out I could have just rounded down with int lol

  • 6
    MrRailgun  commented on Aug. 20, 2020, 4:53 p.m.

    My math is really bad, like i got a C+ for my grade, and i dont really know what the pattern is, could someone help me?

    • 0
      Asorn  commented on Aug. 20, 2020, 5:53 p.m.

      try thinking about what square rooting a number does

    • 3
      noYou  commented on Aug. 20, 2020, 5:48 p.m. edit 2

      The area formula for a square of side length s is s^2 (s squared, or s*s). This problem is asking you, given a maximal value for the total area of the square, what is the maximal Integer side length that would fit? Integer means that there are no decimal side lengths in the square.

      In the example, if you had 8 blocks, only the side lengths 1 and 2 would fit (1*1 < 8, and 2*2 < 8). Of these, the two numbers, the maximum is 2 (because 2>1). Additionally, it can't be 3, or anything larger, because 3*3 = 9, and 9 > 8.

  • -4
    the_noah  commented on July 31, 2020, 11:48 a.m.

    stupid period

  • 34
    jace_l1808  commented on Feb. 11, 2019, 4:08 p.m.

    Didn't see the period in the output. There goes 10 mins of my life

    • 0
      GamerWolf67  commented on April 19, 2021, 2:39 p.m.

      10 minutes of your life you'll never want to go back to again

    • 4
      hjanday  commented on May 9, 2020, 2:38 p.m.

      same, spent 15 minutes debugging and did not see the period

  • 3
    Arihan10  commented on Dec. 22, 2018, 2:46 p.m.

    How do I do this? A simple nudge towards the right side would be nice.

    Thank you.

    • 10
      magicalsoup  commented on Dec. 22, 2018, 3:07 p.m.

      think about using sqrt

      • 9
        Arihan10  commented on Dec. 23, 2018, 12:49 p.m. edited

        Ohhhhh... Thank you so much! You are so smart! Of course... square roots will be used! I am literally so dumb! Thank you once again!

  • 19
    CoolNoobyBooby  commented on Aug. 23, 2018, 10:56 a.m.

    I didn't know what was wrong with my code for a long time, then I realized I forgot a period.

    • 8
      richardyou777  commented on Jan. 1, 2019, 12:21 a.m.

      That got me too. Don't forget the period after the side length of the square.

  • -21
    gabemok  commented on Nov. 21, 2014, 9:45 a.m.

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

    • 18
      FatalEagle  commented on Nov. 21, 2014, 8:14 p.m.

      You are not receiving TLE but WA, meaning your program produced the wrong answer in 0.1 seconds. The output we show you is not the full output; the (clipped) means we only show a certain prefix of your output. For most problems this is the first 32 bytes.

      • 7
        loltrollkill  commented on Dec. 28, 2017, 5:35 p.m.

        Yay FatalEagle! my fav