~$ 存档

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

穷举的一种应用,计算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;
}
posted on 2016-03-16 09:21  LuoTian  阅读(270)  评论(0编辑  收藏  举报