穷举的一种应用,计算x+2y+3z=50的非负整数解。
先约束每个变量的最大值,x=50,y=25,z=50/3。
#include <iostream> using namespace std; int main() { int i,j,k; for(i=0;i<=50;i++) for(j=0;j<=25;j++) for(k=0;k<=50/3;k++) if((i+2*j+3*k)==50) { printf("%d %3d %3d\n",i,j,k); } return 0; }
原文:http://www.cnblogs.com/tinaluo/p/5282126.html