您的位置:首页 > 其它

36.百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?

2014-08-07 16:16 1076 查看
//1、先确定变量关系,将问题分为3个维,用for语句嵌套搭建循环框架
//2、内层用判断语句确定满足题目的条件
//注意,设置一个变量用于计数
​#include<iostream>
using namespace std;

int main()
{
int m=0;
for(int i=1;i<=100;i++)
{
for(int j=1;j<=100;j++)
{
for(int k=1;k<=100;k++)
{
if((((i+j+k)==100))&&((3*i+2*j+0.5*k)==100))
{
cout<<"大马:"<<i<<" 中马:"<<j<<" 小马:"<<k;
m++;
cout<<endl;
}
}
}
}
cout<<"共有"<<m<<"组解"<<endl;
return 0;
}


引申类似问题:换零钱.把一元钱全兑换成硬币(1分2分5分),有多少种兑换方法​

#include<iostream>
using namespace std;

int main()
{
int Y=100;
int m=0;
for(int i=1;i<=Y;i++)
{
for(int j=1;j<=Y;j++)
{
for(int k=1;k<=Y;k++)
{
if(i+2*j+5*k==Y)
{
cout<<"一分钱: "<<i<<" 两分钱: "<<j<<" 五分钱: "<<k;
m++;
cout<<endl;
}
}
}
}
cout<<"一共有"<<m<<"种兑换方式"<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐