用递归实现如下问题:给定一个数组nums=[2,3,5]和一个固定的值target=8。找出数组nums中所有可以使数字和为target的组合(数字可重复)。
2条回答 默认 最新
CSDN专家-天际的海浪 2022-03-18 19:54关注#include <stdio.h> int tv[1000],vl = 0; void getSum(int *nums,int pos,int n,int sum) { if(sum < 0) { return; } if(sum == 0) { for(int i = 0; i < vl; i++) { printf("%d ",tv[i]); } printf("\n"); return; } for(int i = pos;i<n;i++) { tv[vl++] = nums[i]; getSum(nums,i+1,n,sum-nums[i]); vl--; } } int main(void) { int nums[]={2,3,5,1,6},target=8; getSum(nums,0,5,target); return 0; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录