首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算高阶多项式的伪码算法

计算高阶多项式的伪码算法
EN

Stack Overflow用户
提问于 2016-05-10 10:50:14
回答 2查看 718关注 0票数 1

我需要一个算法来计算X,Y,Z等3个随机变量的高阶多项式。

我需要多项式的9度。例如:

代码语言:javascript
复制
Degree 2:
X * Y
X * Z
Y * Z
Degree 3:
X * Y * Z
X^2 * Y
X^2 * Z
Y^2 * X
Y^2 * Z
Z^2 * X
Z^2 * Y
.
.
.
Degree 9:
X^3*Y^3*Z^3
.
.
.

我相信三个内部的"for循环“会解决这个问题,但我不知道。任何帮助都是非常感谢的。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-10 10:57:28

这里是一个强力Java解决方案。您只需迭代从9到9的所有指数值,并保留那些总体顺序小于或等于9的配置。

代码语言:javascript
复制
for (int i=0; i <= 9; ++i) {
    for (int j=0; j <= 9; ++j) {
        for (int k=0; k <= 9; ++k) {
            if (i + j + k >= 2 && i + j + k <= 9) {
                System.out.println("x^" + i + "*y^" + j + "*z^" + k);
            }
        }
    }
}

您可以很容易地将其移植到R,但是由于循环在R中往往会被皱眉,所以可能有一种更合适(也可能更快)的方法。

票数 2
EN

Stack Overflow用户

发布于 2016-05-10 11:13:07

例如,在Python中,我会这样做:

代码语言:javascript
复制
from itertools import permutations

for p in permutations([0,1,2,3] * 3,  3):

    if sum(p) >= 2:

        print("x^{} * y^{} * z^{}".format(*p))

基本上,循环通过所有长度3排列系数[0,1,2,3] * 3 (0到3重复3次)。

下面是Heap生成排列的算法和一些伪代码的链接:

algorithm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37136348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档