穷举法:在条件里确定答案的范围。遍历所有路径找到合适的结果
百马百担问题:有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮一担,问有多少种方法,大中小马各几匹。
分析:从大马开始从0到100,确定大马数量范围,然后是中马、小马
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int i,j,k;
int n=0;
for(i=0; i<100; i++)
{
if(3*i<=100)
{
for(j=0; j<100; j++)
{
if(3*i+2*j<=100)
{
k=(100-3*i-2*j)*2;
if(k+i+j==100)
{
printf("大马%d匹,中马%d匹,小马%d匹",i,j,k);
printf("\n");
n++;
}
}
}
}
}
printf("共有%d种方法",n);
}
1兔换2鸡,2兔换3鸭,5兔换7鹅。某人用20只兔子换得鸡,鸭,鹅共30只,问其中鸡、鸭、鹅各几只。
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int a,b,c;
int i;
for(a=0; a<=30; a+=2)
{
for(b=0; b<=30; b+=3)
{
c=0;
c+=7;
if(c