java - 如何用方程要求解决这个 3x3 矩阵

标签 java algorithm

我今天在接受采访时得到了以下练习:
编写一个程序,为每个从 0 到 100 的 元素 x 找到所有 3x3 矩阵 X

A   B   C

D   E   F

G   H   I

满足以下要求

A + B - C = 4
+   -   -
D - E * F = 4
/   *   -
G + H + I = 4
=   =   =
4   4   4

用Java写一个程序。

最佳答案

不太清楚你的问题是什么,但这似乎很简单,可以通过以合理的顺序尝试所有选择来简单地暴力破解。

例如,这段 Python 代码:

for G in range(1,4+1):
    for H in range(4+1-G):
        I = 4 - H - G
        for A in range(0,4+1):
            D = G*(4-A)
            if not 0<=D<=100:
                continue
            for E in range(100+1):
                for F in range(100+1):
                    if D-E*F==4:
                        for B in range(100+1):
                            C=A+B-4
                            if 0<=C<=100:
                                if B-E*H==4:
                                    if C-F-I==4:
                                        print A,B,C
                                        print D,E,F
                                        print G,H,I
                                        print A+B-C,D-E*F,G+H+I,A+D/G,B-E*H,C-F-I

找到以下4种解决方案:

0 10 6
4 6 0
1 1 2
4 4 4 4 4 4
2 7 5
4 3 0
2 1 1
4 4 4 4 4 4
1 8 5
6 2 1
2 2 0
4 4 4 4 4 4
2 6 4
4 1 0
2 2 0
4 4 4 4 4 4

关于java - 如何用方程要求解决这个 3x3 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32428005/

相关文章:

java - 如何在 Hibernate 中干净地映射 2 个一对一关联

java - 在 Java 中显示来自数据库的多个图像

java - 在 Spring security 中使用 @PreAuthorize 以及角色和权限

c - 字符串的哈希函数

algorithm - 通过移位操作替换分支语句

sql - 挑战,如何实现六度分离的算法?

java - 在 Java 中绘制图形

java - 测试对象是否为空的有效方法

algorithm - 合并 K 个排序链表,为什么复杂度是 O(N * K * K),而不是 O(N * K)

algorithm - 为什么二分搜索算法中的赋值不会增加时间复杂度?