背包问题递归.c
来自「C语言常用算法 之 背包问题 常用代码 方便使用」· C语言 代码 · 共 24 行
C
24 行
#include<stdio.h>
#define N 7
#define S 15
int w[N+1]={0,1,4,3,4,5,2,7};
int knap(int s, int n)
{
if (s==0) return 1;
if(s<0||(s>0&&n<1)) return 0;
if (knap(s-w[n],n-1) )
{
printf("%4d",w[n]);
return 1;
}
return knap(s,n-1) ;
}
void main()
{
if(knap(S,N)) printf("OK!\n");
else printf("NO!\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?