📄 question1.cpp
字号:
#include "stdafx.h"
#include <iostream>
using namespace std;
int sum=0;
void qiu(int n,int * p,int k)
{
while(n > 0)
{
if(k >= p[n-1])
{
sum = sum + p[n - 1];
cout << "包中放" << n << "个宝贝" << endl;
qiu(n-1,p,k-p[n - 1]);
return;
}
n--;
}
return;
}
int main()
{
int n;
int * p;
int k;
int m = 0;
cout << "请输入宝物数量" << endl;
cin >> n;
p = new int[n];
if(p == NULL)
{
cout << "error" << endl;
return 0;
}
for(int i = 0;i < n;i++)
{
if(i > 0)
{
m = m + p[i - 1];
}
do
{
cout << "请输入第" << i + 1 << "个宝物价值" <<endl;
cin >> p[i];
}while(p[i] <= m);
}
cout << "请输入背包最大价值k" << endl;
cin >> k;
qiu(n,p,k);
cout << "最大价值是" << sum << endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -