我想编写一个计算以下问题的函数。
我知道一棵树有4个级别,每个级别有不同数量的节点。
前2个节点 每个父节点有2个节点 每个父节点有3个节点 每个父节点的第4个节点
如果我将最少量的节点作为参数,如何计算在保持比例的同时制作树所需的节点总数。
例如,我将min节点计数作为参数40
该树保持比例的最小节点数约为56(如果我正确计算的话)。
我假设我可以计算此等式所需的节点总数
2x + 2x3y + 2x3y4z + 2x3y4zt =节点数
答案 0 :(得分:1)
这应该可以解决问题:
private static int GetNodes(int min) => ((int)Math.Ceiling(min / 24.0)) * 24;
你需要知道你的号码中有多少次24,所以你将这个数除以24.然后你必须将结果四舍五入并乘以24来得到你的总节点。
修改强>
一些例子:
Console.WriteLine(GetNodes(1)); // 24
Console.WriteLine(GetNodes(23)); // 24
Console.WriteLine(GetNodes(24)); // 24
Console.WriteLine(GetNodes(25)); // 48
Console.WriteLine(GetNodes(60)); // 72
Console.WriteLine(GetNodes(100)); // 120
Console.WriteLine(GetNodes(150)); // 168