#include<bits/stdc++.h> using namespace std; int main(){ int m,k,g,p,l,sum=0; cin>>m>>k>>g>>p; if(m<=0){ m=0; } k=k+m/p; g=g+m/p; sum=sum+k/2+g/4+m/p; l=k; k=k/2+g/4+k%2; g=l/2+g/4+g%4; while(k>1||g>3){ sum=sum+k/2+g/4; l=k; k=k/2+g/4+k%2; g=l/2+g/4+g%4; } cout<<sum; return 0; } l=k; k=k/2+g/4+k%2; g=l/2+g/4+g%4;主要在这一个要用一个中间变量存放k不然k的值会被改变g就不对了