两个一维数组相乘
Multiplying two one-dimensional arrays
一个困扰我的快速问题(无论是从数学角度还是从实现角度来看)。两个一维数组如何相乘?
如果我们有:
int[] a = {1,2,3};
int[] b = {4,5,6};
我们想将结果放入变量 c,您是如何计算和实现的? c也应该是一维的还是二维的?
提前致谢!
编辑:
对于每个问我想要什么的人。我正在尝试解决一个从字面上告诉我的数学问题:
a = {1,2,3};
b = {4,5,6};
c = a * b; //what is c?
我在互联网上找不到任何关于如何用数学方法来做的东西,我同样对如何用编程语言来做感到困惑。
我不确定您是想求所有内容的总和,还是想用乘法创建矩阵。
总和参考duffymo的回答
对于新数组,最终产品将是:
int[][] c= {{4, 8, 12}, {5, 10, 15}, {6, 12, 18}};
想法:你可以循环遍历它们并将每个索引相乘。然后将产品存储在 int[][] c 中。您也可以根据您的实现将它们放在列表中,如下所示:c = {4, 8, 12, 5, 10, 15, 6, 12, 18}.
int[][] c = new int[a.length][b.length];
// int[] c = new int[a.length * b.length];
for(int i = 0; i < a.length; i++){
for(int j = 0; j < b.length; b++){
c[i][j] = a[i] * b[j];
// c[i * a.length + j] = a[i] * b[j]; if you want to store it in a 1D array
// Try a few examples to see why this will work for 1D array
}
}
一个困扰我的快速问题(无论是从数学角度还是从实现角度来看)。两个一维数组如何相乘?
如果我们有:
int[] a = {1,2,3};
int[] b = {4,5,6};
我们想将结果放入变量 c,您是如何计算和实现的? c也应该是一维的还是二维的?
提前致谢!
编辑: 对于每个问我想要什么的人。我正在尝试解决一个从字面上告诉我的数学问题:
a = {1,2,3};
b = {4,5,6};
c = a * b; //what is c?
我在互联网上找不到任何关于如何用数学方法来做的东西,我同样对如何用编程语言来做感到困惑。
我不确定您是想求所有内容的总和,还是想用乘法创建矩阵。
总和参考duffymo的回答
对于新数组,最终产品将是:
int[][] c= {{4, 8, 12}, {5, 10, 15}, {6, 12, 18}};
想法:你可以循环遍历它们并将每个索引相乘。然后将产品存储在 int[][] c 中。您也可以根据您的实现将它们放在列表中,如下所示:c = {4, 8, 12, 5, 10, 15, 6, 12, 18}.
int[][] c = new int[a.length][b.length];
// int[] c = new int[a.length * b.length];
for(int i = 0; i < a.length; i++){
for(int j = 0; j < b.length; b++){
c[i][j] = a[i] * b[j];
// c[i * a.length + j] = a[i] * b[j]; if you want to store it in a 1D array
// Try a few examples to see why this will work for 1D array
}
}