永发信息网

C++编程题目:记得C++

答案:2  悬赏:0  手机版
解决时间 2021-01-26 11:14
  • 提问者网友:风月客
  • 2021-01-25 19:09
C++编程题目:记得C++
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-01-25 19:25
这个题目用递归就行了。一个目标值总的可行方案数量等于应用某种面值钱币后剩下的钱的方案数加上不用这种面值钱币的方案数。
我简单写了个针对第一个测试用例的代码,供参考(代码输出是2)。
#include
#define NMAX 100000
int v[6] = {2,5,10,20,50,100};
int min(int a,int b) { return aint solve(int t,int i=0){
if(t==0) return 0;
if(i>=6 || t return min(solve(t,i+1),solve(t-v[i],i)+1);
}
int main() {
int n = solve(15);
printf("%d
",n);
return 0;
}solve返回值为最少的钱币数量,大于NMAX表示无解。
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-01-25 20:30
我把类写出来了
class student
{
float fChinese;
float fMath;
float fEnglish;
float Sum();
float Average();
}
float student::Sum()
{
float sum = fChinese+fMath+fEnglish;
return sum;
}
float student::Average()
{
float avg= fChinese+fMath+fEnglish;
avg= avg/3;
return avg;
}
class kuiji:public student
{
float kuaiji;
float jingji;
float sumall();
}

float kuaiji::sumall()
{
return (Sum()+kuaiji+jingji);
}

class huaxue:public student
{
float youjihuaxue;
float huaxuefenxi;
float sumall();
}

float huaxue::sumall()
{
return (Sum()+youjihuaxue+huaxuefenxi);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯