#P0720. 方块塔
方块塔
题目描述
小明有一些正方体积木,他想用这些积木搭一座方块塔。
方块塔从下往上搭,第 1 层需要 1 * 1 块积木,第 2 层需要 2 * 2 块积木,第 3 层需要 3 * 3 块积木,依此类推。
也就是说,如果要完整搭好第 i 层,就需要 i * i 块积木。
现在小明一共有 n 块积木。他会从第 1 层开始一层一层往上搭,只有当前层所需积木足够时,才会搭这一层。
请你计算:
- 小明最多能完整搭多少层;
- 搭完这些完整层后,还会剩下多少块积木。
输入格式
输入一行,一个正整数 n,表示小明拥有的积木数量。
输出格式
输出共 2 行。
第 1 行输出一个整数,表示最多能完整搭出的层数。
第 2 行输出一个整数,表示剩余的积木数量。
样例
20
3
6
样例说明
第 1 层需要 1 * 1 = 1 块积木。
第 2 层需要 2 * 2 = 4 块积木。
第 3 层需要 3 * 3 = 9 块积木。
搭完前 3 层一共需要 1 + 4 + 9 = 14 块积木,还剩 20 - 14 = 6 块。
如果继续搭第 4 层,需要 4 * 4 = 16 块积木,但剩下的 6 块不够,所以最多只能完整搭 3 层。
数据范围
- 对于
100%的数据,满足1 <= n <= 100000