小编Han*_*aan的帖子

找到一组方程的整数解,其中包含比方程更多的未知数

我正在尝试构建一个系统,我需要找到一组线性方程的解决方案,其中包含比方程更多的变量.

问题归结为以下几点:

想象一组方程式:

A = A1*X1 + A2*X2 + ... + AnXn
B = B1*X1 + B2*X2 + ... + BnXn
Run Code Online (Sandbox Code Playgroud)

如何为此系统找到一个或多个(正)整数解?

注意:我一直在查看apache-commons-math库,但是我找不到任何关于如何解决/找到具有自由变量的系统解决方案的指示.

java math apache-commons-math

15
推荐指数
1
解决办法
1138
查看次数

Haskell:非详尽模式

我明天正在接受测试培训,以完成我对函数式编程的介绍,但有一件事我不明白.

每当我有一个程序,如:

test [] = []
test (x:xs) = test (xs)
Run Code Online (Sandbox Code Playgroud)

他所做的是他从名单中取出第一个元素并继续其余部分.只要剩下一个,xs应该[]依次触发test [] = [].但每当我运行此算法时,我都会收到错误.Exception: <interactive>:20:5-16: Non-exhaustive patterns in function test.

我无法在网上找到明确的解释.有人可以给我发一个清楚解释或者向我解释的链接吗?

haskell ghci non-exhaustive-patterns

9
推荐指数
1
解决办法
1971
查看次数

从列表中获取X个第一个元素

让我们考虑两个列表:["a","b","c"]["a","b","c","d","e","f"]

我想检查第一个列表是否是我认为可以使用的另一个列表的开头:

["a","b","c"] == head (splitAt (length ["a","b","c"]) ["a","b","c","d","e","f"])
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用.还有另一种方法可以从新列表中的列表中获得第一个3个第一个元素吗?

haskell

2
推荐指数
2
解决办法
1963
查看次数

Java动态创建类的实例

我正在制作一个小纸牌游戏.在这个游戏中,新玩家是一个类,AIPlayer或HumanPlayer的实例,它扩展了一般玩家类.

目前为了生成玩家,我有以下代码:

private List<Player> players;

HumanPlayer playerA = new HumanPlayer("playerA");
playerA.addObserver(gameModelObserver);
players.add(playerA);

AIPlayer playerB = new AIPlayer("playerB");
playerB.addObserver(gameModelObserver);
players.add(playerB);

AIPlayer playerC = new AIPlayer("playerC");
playerC.addObserver(gameModelObserver);
players.add(playerC);

HumanPlayer playerD = new HumanPlayer("playerD");
playerD.addObserver(gameModelObserver);
players.add(playerD);
Run Code Online (Sandbox Code Playgroud)

是否可以动态生成这些类?我可以做一些事情,比如使用播放器名称和布尔值迭代链表的所有元素,以指示它们是AI还是Human,然后为它们生成类的实例.如果是这样,怎么样?

编辑:为了更清楚,我正在寻找这样的事情:

for(int i=0; i<x; i++){
player i = new Player("i");
i.addObserver(gameModelObserver);
players.add(i); }
Run Code Online (Sandbox Code Playgroud)

java class

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