Cb_Scholarship program issue

Can anyone poitnt out the error in the code.

static int getNumber(int n, int m, int x, int y){

    int ans = 0;
    if(x > m)return 0;

    if(x == m)return 1;


    else if((n*x) <= m) return n;


    else{


        int k = n;


		while((n*x) > m){


			n--;


		}


        ans = n;


        m = m - (n * x);


		n = k - n;


        if(n == 1) return ans;


        else{


            while(--n > 0){



                m = m + y;


                if( m >= x){


					m = m - x;


                    ans++;


					n--;


                }


            }
        }
    }
    return ans;
}

I request you to respond back in resolving the issue

static int getPerson(int n, int m, int x){ int ans = 0; if(x > m)return 0; if(x == m)return 1; else if((nx) <= m) ans = n; else{ while((nx) > m){ n–; } ans = n; } return ans; } static int getNumber(int n, int m, int x, int y){ int ans = 0; while(n > 0) { int k = 0; k = getPerson(n, m, x); ans = ans + k; m = m - (k * x); n = n - k; if (n == 1) break; else{ m = m + y; n–; } } return ans; }

your approach isnt efficient
see this: