【发布时间】:2018-05-15 00:00:25
【问题描述】:
如何检查一个整数是否可以表示为长度为 n 的给定数组中元素的线性组合?目前我可以针对 n=2 时的具体情况进行编码,但我不知道当 n 未知时如何编码。
这是n=2时的函数(当数组中只有两个元素时):
bool check(int array[], int n, int value){//n values in the array //
for (int i=1; i<array[0]; i++){
for (int j=1; j<array[1]; j++){
if ((i*array[0]+j*array[1])%value==0){
printf("x=%d, y=%d, i=%d, j=%d\n", array[0], array[1], i, j);
return 1;
}
}
}
return 0;
}
【问题讨论】:
-
所以...我想系数只能是整数,否则就没有意义了。
-
@DavidBowling 这就是我的意思,是的。
-
是的,系数都是整数。@EugeneSh @ David Bowling
-
使用递归处理任意长度的数组。
-
@Barmar 你能在这里指定如何使用递归吗?我对递归不是很有经验。谢谢!
标签: c arrays boolean nested-loops