Math 我想得到三个变量的不同值列表,它们加起来等于1,增量为0.05

Math 我想得到三个变量的不同值列表,它们加起来等于1,增量为0.05,math,combinations,equation-solving,Math,Combinations,Equation Solving,我想要的是找到一个独特的小数列表,加上1,因为我使用了三个变量,每个变量可以增加0.05 值表将如下所示: Var1 Var2 Var3 Total 0.0 0.05 0.95 1 0.20 0.40 0.40 1 0.15 0.75 0.10 1 0.50 0.25 0.25 1 0.80 0.20 0.00 1 等等。。。我想你明白了。首先要意识到的是,由于它们的总和都是1,var3是var2+var1的函

我想要的是找到一个独特的小数列表,加上1,因为我使用了三个变量,每个变量可以增加0.05

值表将如下所示:

Var1   Var2   Var3   Total
 0.0    0.05   0.95   1
 0.20   0.40   0.40   1
 0.15   0.75   0.10   1
 0.50   0.25   0.25   1
 0.80   0.20   0.00   1

等等。。。我想你明白了。

首先要意识到的是,由于它们的总和都是1,
var3
var2+var1
的函数。这里有两个变量

您可以通过盲目循环
var1
var2
并保留以下值来强制执行此操作:

List<int[]> sets = new ArrayList<>();

for(int var1 = 0; var1 <= 100; var1 += 5) {
    for(int var2 = 0; var2 <= 100; var2 += 5) {
        int var3 = 100 - (var1 + var2);
        if(var1 + var2 + var3 == 100 && (var1 != var2) && (var1 != var3) && (var2 != var3)) {
             int[] set = new int[] { var1, var2, var3 };
             sets.add(set);
        }
    }
}
List set=new ArrayList();

对于(int VAR1=0;VAR1)你想用哪种语言来做这个?我在Excel中思考,但是我有SQL(TeraSQL SQL助手),SAS和R在我的机器上下载,我有足够的能力使用。你想考虑,例如(0.05,0.45,0.50)不同于或等于(0.45,0.50,0.05)?对不起,这是用什么语言写的?我试过R和Python,但还没有弄明白。我有点生疏。弄明白了怎么做,非常感谢你的回答。这是用Java写的,但算法在任何语言中都是一样的