部分和问题

#include "stdafx.h"
#include<iostream>
#define MAX 100
using namespace std;
int n=7, k;
int num[100] = { 1, 3, 4, 2, 5, 6, 7 };
bool dfs(int i, int sum)
{
	if (i == n)return sum == k;
	if (dfs(i + 1, sum))return true;
	if (dfs(i + 1, sum + num[i]))return true;
	return false;
}
int main()
{
	while (cin >> k)
		cout << dfs(0, 0) << endl;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-04-18 13:58  Thereisnospon  阅读(149)  评论(0编辑  收藏  举报