求一个表格算法

xien126 2009-12-09 03:20:20
已知各行,各列的合计数
实现自动计算数值分配到已经标记的单元格,满足行列合计的要求,如图
A B C D 行合计
行1 1 1 1 140

行2 1 1 1 100

行3 1 1 80

列合计 80 80 80 80

其中的80,140,100,80都为合计数,该处只做参考,并不能满足实际要求

A1 + D1 = 140
A2 + C1 + D1 = 100
B2 + B3 = 80
A1 + A2 = 80
B1 + B3 = 80
C2 + C3 = 80
D1 + D2 = 80

计算出A1~D3标记为1的单元格的值,满足上述条件及可

...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wartim 2009-12-09
  • 打赏
  • 举报
回复
多元一次方程组
8个未知数,7个公式,无穷解
唯一解用高斯消元法
无穷解有高斯-若尔当消元法

高斯-若尔当消元法
http://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF-%E8%8B%A5%E7%88%BE%E7%95%B6%E6%B6%88%E5%85%83%E6%B3%95
给出了Matlab语言和Python語言的实现代码

这里是一个解:(ps:你给点方程组和图对不上么,而且是b2+b3=80吧)
1 A1 + D1 = 140
2 A2 + C2 + D2 = 100
3 B2 + B3 = 80
4 A1 + A2 = 80
5 B1 + B3 = 80
6 C2 + C3 = 80
7 D1 + D2 = 80

设A1=0
由1式得到D1=140,

D1代入7式得到
D2=80-140=-60

A1=0带入4式得到
A2=80

整理后
A1=0
A2=80
D1=140
D2=-60

1 C2=80
2 B2+B3=80
3 B1+B3=80
4 C2+C3=80

由2,3得B1=B2
设B3=80
B1=B2=0

1代入4得
C3=0

最后
A1=0
A2=80
B1=0
B2=0
B3=80
C2=80
C3=0
D1=140
D2=-60
liherun 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xien126 的回复:]
确实列错了,应该是

A1 + D1 = 140
A2 + C2 + D2 = 100
B3 + B3 = 80
A1 + A2 = 80
B1 + B3 = 80
C2 + C3 = 80
D1 + D2 = 80
[/Quote]
就解n元1次方程组
xien126 2009-12-09
  • 打赏
  • 举报
回复
确实列错了,应该是

A1 + D1 = 140
A2 + C2 + D2 = 100
B3 + B3 = 80
A1 + A2 = 80
B1 + B3 = 80
C2 + C3 = 80
D1 + D2 = 80
xien126 2009-12-09
  • 打赏
  • 举报
回复
行列合计是已知的,算出对应单元格(标记为1的单元)的值,可以看做个N*M的方程式,谁有它的算法吗?
方程式满足
140 = A1 + D1
100 = A2 + C1 + D1
80 = B2 + B3
80 = A1 + A2
80 = B1 + B3
80 = C2 + C3
80 = D1 + D2
liherun 2009-12-09
  • 打赏
  • 举报
回复
A1 + D1 = 140
A2 + C1 + D1 = 100
B2 + B3 = 80
A1 + A2 = 80
B1 + B3 = 80
C2 + C3 = 80
D1 + D2 = 80

你方程没有列错吗
koupengju 2009-12-09
  • 打赏
  • 举报
回复
看不懂~~~~~~~~~~~
liherun 2009-12-09
  • 打赏
  • 举报
回复
解方程吧?
hhc123 2009-12-09
  • 打赏
  • 举报
回复
看不明白啊,可以看成一个二维数组的问题

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧