首页 > 代码库 > 36.百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?
36.百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?
//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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。