我的问题的简短版本是: 我有一个不同数字的数组,我想将它们乘以所有不同的变化n次。 例如,数组可以是
int a[5] = { 1, 2, 3, 4, 5 }
或者也可以像
int a[3] = { 3, 6, 9 }
接下来是我有一个变量n,它告诉我要乘多少次,例如
int n = 2
# would lead to following results:
result = 3 * 3 # a[0] * a[0]
result = 3 * 6 # a[0] * a[1]
result = 3 * 9 # a[0] * a[2]
result = 6 * 6 # a[1] * a[1]
result = 6 * 9 # a[1] * a[2]
result = 9 * 9 # a[2] * a[2]
int n = 3
# would lead to following results:
result = 3 * 3 * 3 # a[0] * a[0] * a[0]
result = 3 * 3 * 6 # a[0] * a[0] * a[1]
result = 3 * 3 * 9 # a[0] * a[0] * a[2]
result = 3 * 6 * 6 # a[0] * a[1] * a[1]
result = 3 * 6 * 9 # a[0] * a[1] * a[2]
result = 3 * 9 * 9 # a[0] * a[2] * a[2]
result = 6 * 6 * 6 # a[1] * a[1] * a[1]
result = 6 * 6 * 9 # a[1] * a[1] * a[2]
result = 6 * 9 * 9 # a[1] * a[2] * a[2]
result = 9 * 9 * 9 # a[2] * a[2] * a[2]
从更大的角度看:我尝试为数字7.11解决一个谜
可以添加或乘以4个浮点数,在两种情况下最终都得到7.11
因此,我在代码中做了一些数学运算,以获取重建这4个数字所需的所有素数。然后,我对这4个数字进行了排列,这就是我的变量n
。接下来是制作三个for循环,每个数字除最后一个数字外,每个数字一个,因为这是我剩下的所有质数。因此,如果我不在那个素数内,我还需要一种跳过某些值的方法,但是我想这可以在for循环中使用continue
轻松实现。