/* Function : 求子集和数问题
* Author : wyh7280
* Time : 2015.05.20 10:16:00.000
* Note : 注意输入的集合arr(即函数中的w[i],应确保是单调递增的,如果不是,请在该程序基础上建立结构体,存储每个集合元素
* 原先的编号,并根据集合元素值的大小进行排序。
*/
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <cstring>
using std::cin;
using std::cout;
using std::endl;
//求解函数
void sumOfSub(float s, int k, float r, int *x, float m, float *w);
void sumOfSub(int *x, int n, float m, float *w);
int main()
{
int n; //n表示集合元素个数
float m; //m表示目标和
cout << "请输入集合元素个数:";
cin >> n;
cout << "请输入目标和:";
cin >> m;
float *arr = new float [n + 1];
int *x = new int [n + 1]; //求解状态
cout << "请输入" << n <<"个集合元素(正值):";
for(int i=0; i < n; i++)
{
c
子集和数问题 C++程序实现 回溯
最新推荐文章于 2022-11-07 09:30:28 发布
本文通过C++编程语言探讨如何利用回溯法解决子集和数的问题,详细介绍了回溯算法的实现过程。
摘要由CSDN通过智能技术生成