搬砖问题 测试时没法通过,请问错误在哪

#include
#include
using namespace std;

int main()
{
int n;
int man,woman,children;
cin>>n;
int flag=0;
//flag 标志型变量名
//flag=1 执行语句
//flag=0 屏蔽语句

for(man=0;man<=n/4;man++){
    for(woman=0;woman<=n/3;woman++){
        children=(n-4*man-3*woman)*2;
        if(children>0&&children==n-man-woman){

            flag=1;
            cout<<"man"<<man<<endl;
            cout<<"woman"<<woman<<endl;
            cout<<"children"<<children<<endl;

        }

       }
    }
    if(flag==0){
        cout<<"no result!"<<endl;
    }

return 0;

}

具体要看题目怎么出的
输出是每次分3行么?
男人、女人、小孩对应的关系是不是正确

#include <iostream> 
#include <cmath>
using namespace std;
int main()
{
int n;
int man,woman,children;
cin>>n; 
int flag=0;
//flag 标志型变量名
//flag=1 执行语句
//flag=0 屏蔽语句
for(man=0;man<=n/4;man++){
    for(woman=0;woman<=n/3;woman++){
        children=(n-4*man-3*woman)*2;
        if(children>0&&children==n-man-woman){

            flag=1;
            cout<<"man"<<man<<endl;
            cout<<"woman"<<woman<<endl;
            cout<<"children"<<children<<endl;

        }

       }
    }
    if(flag==0){
        cout<<"no result!"<<endl;
    }

return 0;
}

这个程序没有编译和运行方面的错误

children>0 应该为 大于等于