编程介的小学生
2018-11-29 17:05数据结构算法题,小白不是很会做,这个用C语言如何求解?
Problem Description
You want to decorate your floor with square tiles. You like rectangles. With six square flooring tiles, you can form exactly two unique rectangles that use all of the tiles: 1x6, and 2x3 (6x1 is considered the same as 1x6. Likewise, 3x2 is the same as 2x3). You can also form exactly two unique rectangles with four square tiles, using all of the tiles: 1x4, and 2x2.
Given an integer N, what is the smallest number of square tiles needed to be able to make exactly N unique rectangles, and no more, using all of the tiles? If N=2, the answer is 4.
Input
There will be several test cases in the input. Each test case will consist of a single line containing a single integer N (1 ≤ N ≤ 75), which represents the number of desired rectangles. The input will end with a line with a single 0.
Output
For each test case, output a single integer on its own line, representing the smallest number of square flooring tiles needed to be able to form exactly N rectangles, and no more, using all of the tiles. The answer is guaranteed to be at most 10^18. Output no extra spaces, and do not separate answers with blank lines.
Sample Input
2
16
19
0
Sample Output
4
840
786432
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 数据结构算法题,小白不是很会做,这个用C语言如何求解?
- as
- 算法
- c语言
- each
- 1个回答
- C语言中random和time函数的问题
- c
- random
- 算法
- 数据
- 1个回答
- 一个大一小白,想问动态规划是干嘛的
- c
- 算法 递归 数据结构
- 动态规划
- 2个回答