征求知识渊博之人回答,如何在空白处填入恰当的数字,使得每行、每列、每对角线的和相等?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了征求知识渊博之人回答,如何在空白处填入恰当的数字,使得每行、每列、每对角线的和相等?相关的知识,希望对你有一定的参考价值。
为了讲解方便,如图所示,将第一行中数设为B,图中最中间数设为A。
先来确定最中间数A为多少。
根据题目要求,每行、每列、每对角线的和相等,有:
21+B+9=B+A+12
A=18。
再来确定右下角的数。用方程来解。
设右下角的数为X(如图所示
)根据每对角线的和相等。
9+18+X(右)=21+18+左
得到左下角的数为X-12,则有
Ⅹ+12+(X-12)=9+18+Ⅹ
解:X=27。
Ⅹ-12=27-12=15
这样每行、每列、每对角线的和=9+18+27=54。
第一行中间数=54-21-9=24。
第一列中间数=54-21-27=6
第三列中间数=54-9-15=30。
如下图所示:
参考技术A 从上到下,从左到右依次填入24,6,18,30,27,和15。解题思路如下:
1)充分利用已知信息。由题意可得:第一行和第二列的三个数之和相等, 并且第一行和第二列拥有一个公共格(2,3),可以算出(2,2)中的数字为21+9-12=18。
2)将(2,3)中的数字设为未知数X,可得各行各列及对角线上的三个数之和均为30+X。
3)所以(1,1)中的数字可表示为30+X-(9+18)=3+X。同理可得(3,1)中的数字为X-9。
4)由(3),第三行三个数之和可表示为3+X+12+X-9=2X+6。由(2),第三行之和又可表示为30+X,联立方程,即2X+6=30+X,解得X=24。
5)将X分别带入,求出答案从上到下依次应为24,6,18,30,27和15。
祝您生活愉快!
如何从数据库中将数字填入框中?
【中文标题】如何从数据库中将数字填入框中?【英文标题】:How can i fill numbers to the boxes from database? 【发布时间】:2018-02-28 13:39:41 【问题描述】:我有一张桌子,我想用这样的 OrderedID 填充框;
PlayerId Name OrderedID
4 Alex Nice 1
6 David Cup 3
7 John Fun 2
10 Mary Hill 6
11 Michal Ola 5
12 Henry Ford 4
我怎样才能用 asp.net 做到这一点?我的代码和结果下来了。
SqlConnection yol = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True");
yol.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * from players order by OrderedID", yol);
DataTable dt = new DataTable();
da.Fill(dt);
int k = 1;
for (int i = 0; i <= dt.Rows.Count; i++)
StringBuilder sb = new StringBuilder();
for (int j = 0; j < i; j++)
sb.Append(dt.Rows[j][2].ToString());
sb.Append(". "+dt.Rows[j][1].ToString() + " ");
k++;
treeview.Nodes.Add(new TreeNode(sb.ToString()));
这是我的结果。请帮帮我。
【问题讨论】:
我不明白你的问题。我看到了你目前的结果。结果应该如何? @cSteusloff 我想做类似的。 i.stack.imgur.com/vWV59.png 玩家将像金字塔一样被排序。 1、2-3、4-5-6、7-8-9-10 ..... 您正在为要添加到字符串中的每条记录向树中添加一个新节点。看起来您需要类似 a) 另一个变量来计算树的“级别”和 b) 另一个 for 循环来为每个级别构建一个新字符串然后添加一个新节点。希望这是有道理的。 【参考方案1】:它与您的代码并不完全是一对一的,但我认为它可以适应您的情况。
我在小提琴here中做了一个类似的sn-p。
我想出的“特殊酱料”就是这个算法:
int skip = 0;
int take = 1;
int addedCount = 0;
do
sb.AppendLine(string.Join(" ", players.Skip(skip).Take(take).Select(x => $"x.Order) x.Name")));
addedCount += take;
skip += take;
take += take + 1;
while(addedCount < players.Count);
我无法在 .NET Fiddle 中完全重现数据库,因此我的 sn-p 使用“播放器”对象,但如果您替换数据库行/列,您应该会很好。可能有更好的循环方式(这只是我的 2 分钟快速尝试),但是这应该帮助你指明方向。
【讨论】:
您的解决方案很好。我如何使用 c# 5.0 和 asp.net 来做到这一点。这行 $"x.Order) x.Name"))); 给了我错误 可以连接字符串:x => x.Order + ") " + x.Name
,或者使用string.format:x => string.Format("0) 1", x.Order, x.Name")
非常感谢。工作正常:)。我现在有一个小问题。 string.Format(" 0.1 ", x.Order, x.姓名,x.ID)))); ------------------- 如果 id==link13 我该怎么做?
我不确定你到底在问什么,你能试着澄清更多吗?
我想找到其中一个生成的链接并更改样式。当我运行 HtmlAnchor findlink = (HtmlAnchor) this.FindControl("link13"); findlink.Style.Add("背景色","红色");但它给了我空引用错误。以上是关于征求知识渊博之人回答,如何在空白处填入恰当的数字,使得每行、每列、每对角线的和相等?的主要内容,如果未能解决你的问题,请参考以下文章