2004 Canadian Computing Competition, Stage 1

Problem J1: Squares

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

9

Sample Output 1

The largest square has side length 3.

Sample Input 2

8

Sample Output 2

The largest square has side length 2.

Sample Input 3

7535

Sample Output 3

The largest square has side length 86.

All Submissions
Best Solutions


Point Value: 3
Time Limit: 2.00s
Memory Limit: 16M
Added: Sep 29, 2008

Problem Types: [Show]

Languages Allowed:
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

Comments (Search)

LOL. I got a WA because I forgot to end the output sentence with a ".".

everythings working fine, but im getting 0 all because its printing
The largest square has side length 3 .
Because of that space between the 3 and the period
help, please?

What happens when the input isn't a perfect square? Remember you have to print out an integer not a double.

um...my code is rounding down to the nearest square root.

Woops, sorry.
The issue with your code was the spacing with the period at the end. In python when you use the print statement with consecutive terms (i.e. print(1,2)) it will automatically put a space in between (i.e. 1 2). So your answer was off by a space.

I don't get, what I did wrong, it's so simple, but it is jinxed. Hope someone can help.

I think you're getting the error because you're using print('{}'.format(test)). Try print('%d' % test) instead.

Thanks, worked great!