1、程序如下:
#include<iostream.h>
int f(int M,int N)
{ int x,y,i=0;
for(x=2;x<=N;x+=2)
for(y=1;y<=N;y+=2)
{if(7*x+4*y==M) {
cout<<"x="<<x<<" y="<<y<<endl;i++;}
}
if(i!=0)return i;
else return -1;
}
int main()
{
int M,N;
cin>>M>>N;
cout<<f(M,N)<<endl;
return 0;
}

2、运行结果:

1、此题仍然用穷举法,

2、判断等式成立,并输出:
if(7*x+4*y==M)
{
cout<<x<<" "<<y<<endl;i++;}
}

3、判断情况是否存在,并给出返回值:
if(i!=0)return i;
else return -1
