Open carloscn opened 1 year ago
你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。
给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。
示例 1:
输入:n = 5 输出:2 解释:因为第三行不完整,所以返回 2 。
示例 2:
输入:n = 8 输出:3 解释:因为第四行不完整,所以返回 3 。
提示: 1 <= n <= 231 - 1
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/arranging-coins
循环递减就可以了
static size_t arrange_coins(size_t n) { size_t i = 1; size_t k = 0; while (n > i) { k ++; n -= i; i += k; } return k; }
https://github.com/carloscn/structstudy/blob/master/c_programming/common/14_arranging-coins_441.c
问题描述
你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。
给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。
示例 1:
输入:n = 5 输出:2 解释:因为第三行不完整,所以返回 2 。
示例 2:
输入:n = 8 输出:3 解释:因为第四行不完整,所以返回 3 。
提示: 1 <= n <= 231 - 1
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/arranging-coins