小编r.d*_*lic的帖子

父亲,两个儿子,999幅画

这是一个工作申请的问题:"一个父亲有两个儿子和999幅画.每幅画都有不同的价值:第一个值1,第二个值2,依此类推,直到最终的画作价值999.他想要把他所有的画作分给他的两个儿子,让每个儿子都有同等的价值.有999幅画有多少种方法可以做到这一点?例如:如果父亲有7幅画作,他可以​​通过给第一个儿子画作公平地划分它们第二个儿子将获得2,3,4和5.两者的总和相等,14.如果有7幅画,父亲可以用4种方式相当划分(其他3个未列出) ),所以解决方案是4.提示:数字可能很大,所以请将最后10位数字和解决方案草图发送给我们."

我所做的是尝试使用暴力方法,通过编写ac#程序将所有可能的组合加起来,该程序在循环内编写自己的c#程序循环,如下所示:

StringBuilder sb = new StringBuilder();
for (short i = 2; i <= 999; i++) //starts from 2 because 1 is always added to the total for one side
{
    sb.AppendLine("for (byte i" + i.ToString() + " = 0; i" + i.ToString() + " < 2; i" + i.ToString() + "++)");
    sb.AppendLine("{");
}

for (int i = 2; i <= 999; i++)
{
    sb.Append("if (i" + i.ToString() + " == 1) { total += " + i.ToString() + …
Run Code Online (Sandbox Code Playgroud)

.net c# algorithm math

6
推荐指数
1
解决办法
286
查看次数

标签 统计

.net ×1

algorithm ×1

c# ×1

math ×1